【发布时间】:2018-08-03 02:06:42
【问题描述】:
我已经创建了一个 docker 镜像。然后我用命令docker run -d -p 5901:5901 -p 2222:22 dockerImageName 运行它。 Docker 运行良好。在此之后,我使用0.0.0.0:5901 连接到 vnc。它连接正确,我得到了一个 GUI。
现在我使用docker stop containerId 停止泊坞窗。现在,如果我尝试使用命令 docker start containerId 重新运行容器,docker 会出现,但是当我尝试使用 0.0.0.0:5901 连接到 vnc 时,它说连接意外关闭
【问题讨论】:
-
这听起来像是图像有问题。它不会以您想要的方式处理容器停止和启动。如果您需要更多帮助,则需要共享您的 Dockerfile 或映像。
-
我正在使用这张图片“hub.docker.com/r/thyrlian/android-sdk-vnc”
-
感谢@Naman 使用图片。问题正是@King Chung Huang 所解决的问题(请在他的回答下查看我的 cmets)。实际上每次停止容器时都应该删除两个锁定文件。我现在尝试
trap SIGTERM并做一些清理工作以删除那些锁定文件。代码更改可以查看here。很快我将发布一个包含此修复程序的新图像。请试一试。非常感谢。 -
顺便说一句,理想情况下,每当您想在 Android 模拟器上运行任何测试时,您都应该确保它处于干净状态。这就是为什么建议每次都启动一个新容器,而不是使用
docker stop。尽管如此,我还是解决了这个问题,因为我相信你可能有其他原因导致这种情况。
标签: docker vnc vnc-viewer