Подтвердить что ты не робот

Соединение отказано в контейнере dginx nginx

Я установил Docker Toolbox в macOS и следую простому руководству по Docker по развертыванию Nginx.

Я выполнил docker run и подтвердил, что мой контейнер создан:

docker run --name mynginx1 -P -d nginx
docker ps
40001fc50719  nginx  "nginx -g 'daemon off"  23 minutes ago  Up 23 minutes  0.0.0.0:32770->80/tcp, 0.0.0.0:32769->443/tcp  mynginx1

Однако, когда я curl http://localhost:32770, я получаю сообщение об отказе в соединении:

curl: (7) Failed to connect to localhost port 32770: Connection refused

Я изо всех сил пытаюсь понять, что я мог здесь упустить. Есть ли дополнительный шаг, который мне нужно выполнить, в свете того, что я нахожусь на macOS?

4b9b3361

Ответ 1

Проблема заключается в том, что ваш DOCKER_HOST не установлен в localhost, вам нужно будет использовать IP-адрес вашей докер-машины, поскольку вы используете Docker Toolbox:

docker-machine ip default # должен вернуть ваш IP-адрес.

Подробнее см. Docker Toolbox Docs.

Ответ 2

docker-machine ip default
xxx.docker.machine.ip

Тогда

curl http://xxx.docker.machine.ip:32770

Ответ 3

Если вы используете OS X 10.10.3 Yosemite или новее и используете Docker для Mac, у вас не будет панели инструментов докеров или докеров или DOCKER_HOST, чтобы беспокоиться.

Просто сопоставьте порт при запуске команды local-port: container-port

docker run --name my-web  -p 8080:80