Docker容器端口在Windows上公开,但在Ubuntu上不公开

时间:2019-09-09 21:13:14

标签: docker port

我正在使用Docker Desktop的Windows 10计算机上开发基于 Ubuntu 的Docker映像。该图像具有一个服务器应用程序,用于监听端口5000上的HTTP通信。当我使用以下命令在Windows上本地运行该图像时:

docker run -d -p 5000:5000 dockerImageName /opt/serverApp

一切正常,我可以去http://localhost:5000并看到一个Web界面。

但是随后我将映像推送到Azure中的存储库,然后将其拉回到Ubuntu Azure VM上并执行相同的命令,该容器似乎可以正确启动但正在执行:

curl http://localhost:5000

返回:

  

卷曲:(7)无法连接到本地主机端口5000:连接被拒绝

没关系,但是我还允许VM连接到的网络安全组中的端口5000上的传入流量。

如果我执行:

sudo lsof -i:5000

一无所获。

这是与Azure相关的问题吗?在Windows上运行Linux映像与在Azure上运行VM的方式(在Windows上Docker Desktop使用Linux VM运行容器)之间有区别吗?

1 个答案:

答案 0 :(得分:0)

这是他的叹息: Docker container will automatically stop after “docker run -d”

分析运行容器时Windows和Ubuntu之间行为的变化。