+-

作为后续 Linking Docker Containers
我已经成功地将两个mongo redis容器与我的nodejs应用容器进行了链接.我的节点应用程序现在正在容器中运行,但是由于某种原因我无法访问它:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f8790bb7cc5 mseay/myapp:latest "/bin/bash" 2 minutes ago Up 2 minutes 0.0.0.0:3000->3000/tcp myapp
5470cdd876eb redis:latest "/entrypoint.sh redi About an hour ago Up About an hour 6379/tcp redis
36c61197d8bd mongo:latest "/entrypoint.sh mong About an hour ago Up About an hour 27017/tcp mongo
在容器内,我的节点应用程序在端口3000上运行.我的docker run命令指定将容器中的3000映射到主机上的3000:
docker run -i -t -p 3000:3000 --name myapp --link mongo:MONGODB --link redis:REDIS mseay/myapp /bin/bash
Docker端口显示
3000/tcp -> 0.0.0.0:3000
但是,当我转到localhost:3000或尝试使其卷曲时:
curl: (7) Failed to connect to localhost port 3000: Connection refused
不好意思道歉.任何帮助总是感激不尽!
最佳答案
问题是您正在使用boot2docker.这些端口会在运行docker的虚拟机上发布.您可以通过运行boot2docker ip来获取该虚拟机的IP地址.
因此,对于端口3000上的服务,您可以运行:
curl http://$(boot2docker ip):3000/
点击查看更多相关文章
转载注明原文:Docker端口暴露 - 乐贴网