为了检查在 docker 镜像中运行的 selenium 测试,我尝试设置一个 VNC 来验证测试期间发生的情况。
我正在按照此处提出的建议创建一个新的 docker 映像,并在 中添加以下附加行Dockerfile:
RUN apt-get install -y x11vnc
RUN mkdir ~/.vnc
RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
Run Code Online (Sandbox Code Playgroud)
然后我使用以下命令启动了 docker 镜像:
docker run -p 5900 --rm -it --entrypoint /bin/bash selenium-tests
Run Code Online (Sandbox Code Playgroud)
并开始krdc作为我的 VNC 查看器。那么现在怎么办?
我在krdc. 也许我错过了什么?我是否必须在 docker 中明确启动 vnc 代码?我需要向docker命令传递额外的参数吗?
Nic*_*lay 10
问题中有两个问题会阻止您实现想要实现的目标:
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"]
Run Code Online (Sandbox Code Playgroud)
在哪里entrypoint.sh:
#!/bin/bash
x11vnc -forever -usepw -create &
/bin/bash
Run Code Online (Sandbox Code Playgroud)
现在我们可以使用以下命令启动一个容器:
docker run --rm -ti -p 5900:5900 <image_name_or_id>
Run Code Online (Sandbox Code Playgroud)
并通过vncviewer从容器启动的同一主机访问它:
vncviewer localhost:5900
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9548 次 |
| 最近记录: |