use*_*623 7 port nginx request docker
我有一个运行的nginx容器:# docker run --name mynginx1 -P -d nginx;
并通过docker ps以下方式获得其PORT信息: 0.0.0.0:32769->80/tcp, 0.0.0.0:32768->443/tcp
然后我可以从容器中获得响应(id:c30991a04b2f):
docker exec -i -t c3099 bash
curl http://localhost=>返回默认index.html页面内容,它的工作原理
但是,当我curl http://localhost:32769在容器外面制作时,我得到了这个:
curl: (7) failed to connect to localhost port 32769: Connection refused
我在带有docker版本1.9.0的mac上运行; nginx最新
有谁知道是什么原因造成的?有帮助吗?谢谢
如果您是On OSX,则可能正在为docker环境使用VirtualBox VM.
确保已将端口32769转发到实际主机(mac),以便从localhost可以看到该端口.
这适用于旧的boot2docker或新的docker机器.
VBoxManage controlvm "boot2docker-vm" --natpf1 "tcp-port32769 ,tcp,,32769,,32769"
VBoxManage controlvm "boot2docker-vm" --natpf1 "udp-port32769 ,udp,,32769,,$32769
Run Code Online (Sandbox Code Playgroud)
(controlvm如果VM正在运行,modifyvm则VM是否已停止)
(将" boot2docker-vmvm的名称替换为" :请参阅docker-machine ls)
我建议不要使用-P,而是静态端口映射-p xxx:80 -p yyy:443.
这样,您可以使用固定值执行一次端口转发.
当然,您可以直接访问VM docker-machine ip vmname
curl http://$(docker-machine ip vmname):32769
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4709 次 |
| 最近记录: |