无法公开端口从本地主机访问web服务器

我刚刚开始学习docker,并卡在这里。 所以,我首先尝试运行jenkins映像并映射端口,以便从浏览器访问它,但是我没有成功。 当我在指定的端口从浏览器打开本地主机时,我什么也得不到。 同样是与tomcat。

我运行它是这样的: docker run -it --rm -p 8888:8080 tomcat和我得到输出在cmd提示像一切设置像它应该,但没有出现在浏览器中。 在docker ps我可以看到tomcat容器正在运行在8888端口上。

以下是您可以按照以下步骤追踪问题的几个步骤:

检查服务在容器内是否正确运行
您可以使用以下方式input容器:

 docker exec -it [container id] bash [or ash depends on your image] 

然后检查容器是否运行正确的运行所需的服务在这里运行telnet可能是有用的。

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

 docker logs [container id] 

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

在主机上运行:

 sudo netstat -nlp | grep :8888 

这应该列出dockerddocker守护进程”正在使用该端口

如果所有这一切顺利,那么你应该检查你的防火墙规则,因为它可能会阻止这些端口上的任何连接

ps --rm选项意味着Docker会在容器退出时自动清理容器并删除文件系统。 所以没有任何坚持。

希望这是有用的。

问题是我正在检查错误的IP。 在本地主机上,我无法访问在Docker容器中运行的任何东西,但是当我每次启动Docker时都尝试了cmd提示中提供的地址,我就得到了我想要的东西。