Контейнер недоступен на локальном хосте в Windows Docker Toolbox - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь подключиться к своему контейнеру на localhost/127.0.0.1/0.0.0.0, но сайт не может быть достигнут.

Подробности:

$ docker run -d -p 80:80 nginx:alpine

$ docker ps
CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS
                                                                NAMES
d5b465ed1b18        nginx:alpine                            "nginx -g 'daemon of"   6 minutes ago       Up 6 minutes        0.0.0.
0:80->80/tcp                                                   quizzical_swirles
798b40ceec77        10.36.7.241:5000/facileexplorer:0.3.8   "/usr/bin/supervisor"   9 minutes ago       Up 9 minutes        4444/t
cp, 0.0.0.0:3838->3838/tcp, 0.0.0.0:8787->8787/tcp, 5900/tcp   vigilant_banach

Я следовал этой инструкции: https://blog.sixeyed.com/published-ports-on-windows-containers-dont-do-loopback/:

$ docker inspect --format '{{ .NetworkSettings.Networks.nat.IPAddress }}' d5b465ed1b18
<no value>

, но он не возвращает порт.

И я также помог себе с этим руководством: https://www.iancollington.com/docker-and-cisco-anyconnect-vpn/, потому что некоторые из моих образов докера находятся в частном реестре, поэтому я сделал следующеешаги:

  1. PATH=$PATH:"C:\Program Files\Oracle\VirtualBox"; export PATH
  2. export DOCKER_HOST="tcp://127.0.0.1:2376"
  3. docker-machine stop default
  4. VBoxManage modifyvm "default" --natpf1 "docker,tcp,,2376,,2376"
  5. docker-machine start default
  6. alias docker='docker --tlsverify=false'

Не могли бы вы помочь?

1 Ответ

0 голосов
/ 30 мая 2018

Когда вы используете Docker Toolbox, запуск docker run -p 80:80 может вводить в заблуждение.Это означает, что он будет перенаправлять порт 80 вашего контейнера на порт 80 вашего компьютера Docker, а не хоста Windows!

Если вы хотите получить доступ к контейнеру через хост Windows, вам также нужно перенаправить порт 80вашего компьютера Docker на этот хост.

Я вижу, что вы используете VirtualBox, что позволяет вам сделать это, добавив запись в Настройки> Сеть> Дополнительно> Переадресация портов .

Пример учебника с изображениями: https://www.howtogeek.com/122641/how-to-forward-ports-to-a-virtual-machine-and-use-it-as-a-server/

...