Рейтинг:2

WSL2 Dockerized Nginx недоступен в браузере, но отвечает на пинг

флаг cn

У меня есть 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) был выключен и загружен сегодня.

Любая идея, что здесь произошло и как я могу избежать этой ситуации в будущем?

ОБНОВИТЬ

Я изменил имя своей сети, перезапустил докер, и все работает нормально. Но я не понимаю, что здесь произошло. Я все еще жду ответа, чтобы понять причину этой проблемы.

Спасибо!

simon avatar
флаг pl
Убедитесь, что IP-адреса WSL не изменились: `имя хоста wsl -I`. Для меня мой экземпляр WSL2 внезапно начал выдавать IP-адреса из подсети 192.168.*.* вместо 172.*.*.*.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.