2015-10-08 4 views
27

Я установил Docker Toolbox в OSX, и я следую простому учебнику Docker по адресу deploying Nginx.Соединение отказано на контейнере докеров nginx

Я казнены Docker бежать и подтвердил, что мой контейнер был создан:

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 

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

+0

Проверьте журналы Nginx и/или увеличить многословие. Если я правильно помню, это проблема nginx, где nginx пытается отменить поиск в DNS или что-то в этом роде. – user2105103

ответ

52

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

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

Для получения дополнительной информации см. Docker Toolbox Docs.

+0

Пятно на. Спасибо, Майкл. – Jonathan

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

Тогда

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

Если вы на OS X 10.10.3 Йосемити или новее и с помощью Docker для Mac, вы не будете иметь Докер-машину или Docker инструментов или DOCKER_HOST беспокоиться.

Просто карта порта на команды запуска локального порта: контейнер-порт

docker run --name my-web -p 8080:80 
Смежные вопросы