【发布时间】:2015-12-06 19:33:54
【问题描述】:
我想我遗漏了一些明显的东西,但我似乎无法破解这个。我正在尝试将一个端口从在 docker 容器中运行 uwsgi 的 django 应用程序映射到我的本地 Macintosh 主机。这是设置。
Mac 10.11 运行 docker-machine 0.5.1,带有 virtualbox 5.0.10 和 docker 1.9.1
我使用 docker-machine setup 我的 docker 文件创建了一个服务器,并成功构建了我的 docker 容器。在容器中我有以下命令
# Port to expose
EXPOSE 8000
映射到容器内通过 uwsgi 使用的端口。当我通过
运行他的容器时eval "$(docker-machine env dev)"
docker-machine ip dev
192.168.99.100
docker run -P launch
容器正常启动。如果我进入容器并执行一个
curl http://localhost:8000
我得到了我期望的 HTML。在外面,一个 docker inspect container_id 给我一个
"Ports": {
"8000/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "32768"
}
]
},
所以我可以通过上述命令在 192.168.99.100 的 docker-machine 主机上看到到 32768 的映射。但是,每当我尝试 curl http://192.168.99.100:32768
curl http://192.168.99.100:32768
curl: (7) Failed to connect to 192.168.99.100 port 32768: Connection refused
所以对此有什么想法吗?一切都应该按照我对 docker 的理解工作。
谢谢 克雷格
【问题讨论】:
-
您能发布
Dockerfile或者至少发布用于启动uwsgi 服务器的配置和命令吗?这闻起来像 uwsgi 只在 127.0.0.1 上监听...
标签: django docker docker-machine