In order to examine selenium tests running inside a docker image I am trying to set up a VNC to verify what is going on during the tests.
I am following the suggestions made here and created a new docker image with the following additional lines in Dockerfile
:
RUN apt-get install -y x11vnc
RUN mkdir ~/.vnc
RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
Then I started the docker image with the following command:
docker run -p 5900 --rm -it --entrypoint /bin/bash selenium-tests
and started krdc
as my VNC viewer. So now what?
I do not see my docker image in krdc
. Maybe I am missing something? Do I have to start the vnc code inside docker explicitly? Do I need to pass additional arguments to the docker
command?
There are two issues in the question that prevent you from the goal you want to achieve:
1. X server is missed in the image.
2. VNC server should be started in a container.
The additional part of Dockerfile
is:
RUN apt-get install -y x11vnc xvfb
RUN mkdir ~/.vnc
RUN x11vnc -storepasswd 1234 ~/.vnc/passwd
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
where entrypoint.sh
is:
#!/bin/bash
x11vnc -forever -usepw -create &
/bin/bash
Now we can start a container using the following command:
docker run --rm -ti -p 5900:5900 <image_name_or_id>
and access it via vncviewer
from the same host where container is started:
vncviewer localhost:5900
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With