我正在使用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运行容器)之间有区别吗?
答案 0 :(得分:0)
这是他的叹息: Docker container will automatically stop after “docker run -d”
分析运行容器时Windows和Ubuntu之间行为的变化。