无法从浏览器[docker]中的Localhost访问端口以访问Web服务器



我刚刚开始学习docker并被卡在这里。因此,首先,我尝试运行Jenkins图像并映射一个端口,以便可以从浏览器访问它,但我没有成功。当我在指定端口的浏览器中打开Localhost时,我什么也没得到。tomcat也是如此。

我像这样运行它:docker run -it --rm -p 8888:8080 tomcat,并且在CMD提示符中获得输出,就像所有设置一样,但浏览器中没有任何内容。在docker ps中,我可以看到tomcat容器正在端口8888上运行。

以下是您可以遵循的几个步骤以追踪问题:

检查服务是否在容器中正确运行
您可以使用:

进入容器
docker exec -it [container id] bash [or ash depends on your image]

,然后检查容器是否正在运行所需的服务,可以在此处有用。

或者您可以检查容器日志。只需在主机上运行:

docker logs [container id]

检查Docker是否正确绑定您的端口

在主机上运行:

sudo netstat -nlp | grep :8888

这应该列出 Dockerd 'Docker Daemon'正在使用端口

,如果所有这些都进行得很好,那么您应该检查防火墙规则,因为它可能会阻止这些端口上的任何连接

P.S。 --rm选项意味着Docker将自动清理容器并在容器退出时删除文件系统。因此,没有任何持久性。

希望这很有用。

问题是我检查了错误的IP。在Localhost上,我无法访问Docker容器中运行的任何内容,但是当我尝试每次Docker启动时在CMD提示中提供的地址时,我都会得到我想要的。

最新更新