簡體   English   中英

在mac os x上的boot2docker,docker,django

[英]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:8000http://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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM