2015-07-11 4 views
3

Я хочу запустить приложение Django в докере на Mac OS X. Я установил докер, используя учебник get-started.boot2docker, docker, django on mac os x

Я имею в виду документ Django в Докер-библиотеки для создания образа, https://github.com/docker-library/docs/tree/master/django, я добавляю Dockerfile в новой папке проекта Django

Проблема я создать образ и запустить контейнер успешно, но всякий раз, когда я посещаю container-ip:8000 или http://localhost:8000, это не работает. У кого-нибудь есть решения?

Вот изображения и информация о контейнере; docker_test моего приложение

REPOSITORY   TAG     IMAGE ID   CREATED   VIRTUAL SIZE 
docker_test   latest    fd6ceebc0c58  13 hours ago  761.5 MB 
django    onbuild    9cbcfd71d759  30 hours ago  728.6 MB 

CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS     NAMES 
cbf98a73ea0a  docker_test   "python manage.py ru 26 minutes ago  Up 26 minutes  0.0.0.0:8000->8000/tcp docker_app 

ответ

6

всякий раз, когда я посещаю контейнер-IP: 8000 или http://localhost:8000, он не работает

См docker/issues/4007: вам нужно будет использовать перенаправление портов при использовании boot2docker на OSX ,
Это означает, что загрузочный кулер VM должен перенаправить порт 8000 на фактический хост OSX.
I mentioned it here:

$ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8000,tcp,,8000,,8000"; 

Если виртуальная машина уже запущена, вы должны запустить эту другую команду:

$ VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port8000,tcp,,8000,,8000"; 

This script, например, может помочь.

Как показано в «Boot2docker on OsX», localhost не будет работать:

Причина, по которой не работает Ваш DOCKER_HOST адрес не localhost адрес (0.0.0.0), но вместо того, чтобы адрес boot2docker VM.

Получить адрес виртуальной машины boot2docker.

$ boot2docker ip 
192.168.59.103 

Введите http://192.168.59.103:8000 адрес в браузере.

+0

Я запустил эту команду, но до сих пор не могу посетить http: // localhost: 8000. Но я могу посетить страницу приветствия django, посетив http://192.168.59.103:8000/. 192.168.59.103 - DOCKER_HOST. Поэтому я думаю, что в переадресации портов на моем vm – wayne

+0

@wayne должно быть что-то не так: https://docs.docker.com/installation/mac/#access-container-ports. Я соответствующим образом изменил свой ответ. – VonC

+0

О, я вижу! Большое спасибо! – wayne

Смежные вопросы