way*_*yne 4 python django macos docker boot2docker
我想在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
Run Code Online (Sandbox Code Playgroud)
每当我访问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";
Run Code Online (Sandbox Code Playgroud)
如果vm已在运行,则应运行此其他命令:
$ VBoxManage controlvm "boot2docker-vm" natpf1 "tcp-port8000,tcp,,8000,,8000";
Run Code Online (Sandbox Code Playgroud)
例如,此脚本可以提供帮助.
如" OsX上的Boot2docker "所示,localhost不起作用:
它不起作用的原因是你的
DOCKER_HOST地址不是localhostaddress(0.0.0.0)而是boot2docker VM的地址.获取boot2docker VM的地址.
$ boot2docker ip
192.168.59.103
Run Code Online (Sandbox Code Playgroud)
在浏览器中输入http://192.168.59.103:8000地址.
| 归档时间: |
|
| 查看次数: |
3034 次 |
| 最近记录: |