У меня есть Windows 10 Home на моем компьютере с WSL2. В WSL я запускаю Docker с этим докер-compose.yml
файл:
версия: "3"
Сервисы:
httpd:
изображение: 'nginx: стабильный-альпийский'
порты:
- «80:80»
тома:
- ./:/var/www/html
- ./.docker-config/nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
зависит от:
- пхп
- mysql
сети:
- майнет
php:
строить:
контекст: ./.docker-config/dockerfiles
файл докеры: php.dockerfile
тома:
- ./:/var/www/html: делегировано
сети:
- майнет
сети:
майнет:
водитель: мост
В ./.docker-config/nginx/nginx.conf
У меня есть эта конфигурация:
сервер {
слушать 80;
индекс index.php index.html;
имя_сервера локальный хост;
корень /var/www/html/public;
место расположения / {
try_files $uri $uri/ /index.php?$query_string;
}
расположение ~ \.php$ {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass PHP: 9000;
fastcgi_index index.php;
включить fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}
Я запускаю свои контейнеры Docker с помощью этой команды:
docker-compose up -d
Я добавляю свой личный домен в хозяева
файл в Windows с текущим IP-адресом WSL2.
В Power Shell я пытаюсь пропинговать свой домен, и он отвечает, поэтому я думаю, что конфигурация хоста хороша.
Но если я пытаюсь зайти в свой домен в браузере, он не отвечает. Сообщение об ошибке ERR_CONNECTION_TIMED_OUT
.
Самое странное, что вчера это работало, и в файлах конфигурации ничего не изменилось. Компьютер (и, конечно же, WSL2 и Docker) был выключен и загружен сегодня.
Любая идея, что здесь произошло и как я могу избежать этой ситуации в будущем?
ОБНОВИТЬ
Я изменил имя своей сети, перезапустил докер, и все работает нормально. Но я не понимаю, что здесь произошло. Я все еще жду ответа, чтобы понять причину этой проблемы.
Спасибо!