Docker на Win 11

Говорим о серверах, развёртывании, нагрузках, выборе и использовании разных технологий и продуктов
Ответить
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Docker на Win 11

Сообщение porcelanosa »

Товарищи подскажите, пожалуйста.
две машины - Win 11 - Win 10 - Docker (версии одинаковые) PHP 8.1 - docker-compose.yaml и все файлы идентичны - одна репа.
на Win 10 все запускается.
site.local доступен - конфиг nginx копируется
БД доступны.
На Win 11 - все запускается. Консоли и nginx и php и mysql доступны - можно войти в nginx контейнер и увидеть файлы конфигурации и файлы с кодом - в mysql контейнер можно зайти и залогиниться к БД -
НО снаружи не видно, ни nginx ни БД....
В чем может быть проблема?
Даже не знаю что еще сказать тут - конфигурация docker compose, по-моему тут значения не имеет. В Докер Десктопе WSL 2 в настройках отключена. Docker compose запускается из PHP Storm
Изображение
Еще один нюанс - по localhost или по IP выданному докером страничка nginx открывается
Изображение

но site.local нет -

Dockerfile для nginx:

Код: Выделить всё

FROM ubuntu:latest  
RUN apt-get update  
RUN apt-get install -y nginx  
COPY ./hosts/site.local.conf /etc/nginx/sites-enabled/site.local.conf
WORKDIR /data  
VOLUME /data  
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
site.local.conf:

Код: Выделить всё

server {
    # указываем 80 порт для соединения
    listen 80;
    # нужно указать, какому доменному имени принадлежит наш конфиг
    server_name site.local;

    # задаём корневую директорию
    root /data/site.local;

    # стартовый файл
    index index.php index.html;

    # при обращении к статическим файлам логи не нужны, равно как и обращение к fpm
    location ~* .(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }

    # помним про единую точку доступа
    # все запросы заворачиваются в корневую директорию root на index.php
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # и наконец правило обращения к php-fpm
    location ~* .php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+.php)(/.+)$;
        fastcgi_pass app:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
В hosts докер добавил:

Код: Выделить всё

# Added by Docker Desktop
192.168.1.103 host.docker.internal
192.168.1.103 gateway.docker.internal
# To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
# End of section
БД снаружи тоже видит (пробовала и localhost и db ), но не может приконнектиться. хотя изнутри контейнера, как написал выше - вполне можно залогиниться. Изображение
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Аватара пользователя
samdark
Администратор
Сообщения: 9460
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Docker на Win 11

Сообщение samdark »

Если access denied, значит на порт оно прокинулось нормально. Попробуйте хост для юзера прописать как * в MySQL.
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Re: Docker на Win 11

Сообщение porcelanosa »

samdark писал(а): 2022.07.17, 12:31 Если access denied, значит на порт оно прокинулось нормально. Попробуйте хост для юзера прописать как * в MySQL.
Спасибо.
Проблема была в том, что запускался mysql по умолчанию (был установлен отдельно), и соответсвенно он отвечал, похоже на этом порту. - как резулатат ошибка - ведь там другие пароли и пользователи.
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Ответить