Соединение отказано в контейнере 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?
Ответы
Ответ 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