如何使用vnc在ubuntu中运行docker镜像?

时间:2018-03-20 06:39:18

标签: ubuntu docker vnc

为了检查在docker镜像中运行的selenium测试,我试图设置一个VNC来验证测试期间发生了什么。

我按照here提出的建议,并在Dockerfile中创建了一个新的泊坞窗图片,其中包含以下附加行:

RUN     apt-get install -y x11vnc 
RUN     mkdir ~/.vnc
RUN     x11vnc -storepasswd 1234 ~/.vnc/passwd

然后我使用以下命令启动了docker镜像:

docker run -p 5900 --rm -it --entrypoint /bin/bash selenium-tests

并启动krdc作为我的VNC查看器。那么现在怎么办?

我在krdc中看不到我的泊坞窗图片。也许我错过了什么?我是否必须显式启动docker中的vnc代码?我是否需要将其他参数传递给docker命令?

  • docker:1.13.1
  • ubuntu:16.4.03
  • krdc:4.14.16

1 个答案:

答案 0 :(得分:0)

问题中有两个问题阻碍了您实现目标:

1。图片中遗漏了X服务器。

2. :应在容器中启动VNC服务器。

Dockerfile的其他部分是:

RUN apt-get install -y x11vnc xvfb 
RUN mkdir ~/.vnc
RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

其中entrypoint.sh是:

#!/bin/bash
x11vnc -forever -usepw -create &
/bin/bash

现在我们可以使用以下命令启动容器:

docker run --rm -ti -p 5900:5900 <image_name_or_id>

并通过vncviewer从启动容器的同一主机访问它:

vncviewer localhost:5900