docker vnc第二次连接问题

时间:2018-08-01 12:45:08

标签: docker vnc vnc-viewer

我已经创建了一个docker镜像。然后,我使用命令docker run -d -p 5901:5901 -p 2222:22 dockerImageName运行它。 Docker运行良好。之后,我使用0.0.0.0:5901连接到vnc。它连接正确,我得到了GUI。

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

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

1 个答案:

答案 0 :(得分: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存储库中提交问题。您可以在{em>源信息库下的Docker Hub page for thyrlian/android-sdk-vnc上找到它。