为了检查在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
命令?
答案 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