[英]boot2docker, docker, django on mac os x
我想在Mac OS X上的docker中運行Django應用程序。我已經使用get-started
教程安裝了docker。
我在docker-library中引用Django doc來構建映像, 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
每當我訪問container-ip:8000或http:// localhost:8000時 ,它都不起作用
請參閱docker / issues / 4007 :在OSX上使用boot2docker時需要使用端口轉發。
這意味着VM boot2docker需要將端口8000轉發到OSX實際主機。
我在這里提到它 :
$ VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8000,tcp,,8000,,8000";
如果vm已在運行,則應運行此其他命令:
$ VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port8000,tcp,,8000,,8000";
例如, 此腳本可以提供幫助。
如“ OsX上的Boot2docker ”所示, localhost
不起作用:
它不起作用的原因是你的
DOCKER_HOST
地址不是localhost
地址(0.0.0.0
),而是boot2docker VM的地址。獲取boot2docker VM的地址。
$ boot2docker ip
192.168.59.103
在瀏覽器中輸入http://192.168.59.103:8000地址。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.