我创建了一个docker容器并尝试在容器的bash中ping www.google.com并且它可以工作。此外,我尝试从主机ping容器 - 它完全正常。
但是当我尝试从网络中的外部系统ping容器时,它会给我一个请求超时异常。
我打算在容器上安装tomcat webserver,并允许其他容器访问服务器中部署的应用程序。希望得到一些帮助!
答案 0 :(得分:5)
默认情况下,您无法从外部主机ping Docker容器(为此,您必须确保Docker网桥-docker0-具有IP地址,并且您必须将其他主机上的路由配置为使用Docker主机作为桥接地址范围的网关。)
默认情况下,在Docker容器中运行的任何服务都不是"已发布" (Docker术语)并且无法从外部到达。运行容器时,必须明确定义/允许要发布的服务。
例如,要发布容器的Tomcat应用程序(假设它配置为侦听端口 8080 )以在主机上移植 80 ,您可以使用-p
选项运行您的容器:
docker run -d -p 80:8080 my-tomcat-image:tag
但是如果您只想从同一主机上的其他容器访问Tomcat,则不需要配置任何内容。