1

我创建了一个泊坞窗图像。然后我用命令运行它docker run -d -p 5901:5901 -p 2222:22 dockerImageName。Docker 运行良好。在此之后,我使用0.0.0.0:5901. 它连接正确,我得到了一个 GUI。

现在我停止使用docker stop containerId. 现在,如果我尝试使用命令重新运行容器docker start containerId,docker 会出现,但是当我尝试使用连接到 vnc 时0.0.0.0:5901,它说连接意外关闭

我正在使用这张图片https://hub.docker.com/r/thyrlian/android-sdk-vnc/

4

1 回答 1

1

看起来thyrlian/android-sdk-vnc映像中的 VNC 服务器第二次启动的方式不同,因为在容器停止时会留下一个锁定文件。

如果我从该映像创建并启动一个容器,这就是 vncserver-stderr.log 显示的内容。

▸ ~ docker run -d -p 5901:5901 -p 2222:22 --name android-sdk-vnc thyrlian/android-sdk-vnc
212b6de3d3ee71f221e7e190baaf650b779cf351a9c4654db19ef3402cdaa86f
▸ ~ docker exec android-sdk-vnc cat /var/log/supervisord/vncserver-stderr.log
xauth:  file /root/.Xauthority does not exist

New 'X' desktop is 212b6de3d3ee:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/212b6de3d3ee:1.log

停止和启动同一个容器后,日志显示如下。

▸ ~ docker stop android-sdk-vnc
android-sdk-vnc
▸ ~ docker start android-sdk-vnc
android-sdk-vnc
▸ ~ docker exec -it android-sdk-vnc cat /var/log/supervisord/vncserver-stderr.log
xauth:  file /root/.Xauthority does not exist

New 'X' desktop is 212b6de3d3ee:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/212b6de3d3ee:1.log


Warning: 212b6de3d3ee:1 is taken because of /tmp/.X1-lock
Remove this file if there is no X server 212b6de3d3ee:1

New 'X' desktop is 212b6de3d3ee:2

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/212b6de3d3ee:2.log

我不熟悉这个 VNC 服务器,但我猜锁定文件/tmp/.X1-lock阻止它以与第一次相同的方式运行。

我建议在源 GitHub 存储库中提交问题。您可以在thyrlian/android-sdk-vnc 的 Docker Hub 页面上找到它,位于Source Repository下方。

于 2018-08-02T18:06:42.623 回答