我已经创建了一个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时,它说连接意外关闭
答案 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上找到它。