Entorn gràfic a Docker
1. Utilitzar la variable $DiSPLAY que et mostra el display actiu del host i compartir-lo al contenidor mitjançant la variable d'entorn DISPLAY 2. Compartir el directoris de l'xserver al contenidor mitjançant un volum
*Passos*
1. Actualitzar x1-xserver-utils per a poder compartir el display
sudo apt install x11-xserver-utils
2. Dockerfile d'exemple per arrancar l'xclock
FROM ubuntu:latest ENV DEBIAN_FRONTEND noninteractive RUN apt-get update RUN apt-get install -qqy x11-apps
3. Fem un buil per crear la imatge
roger@roger:~/dev$ docker build . -t grafic Sending build context to Docker daemon 42.55MB Step 1/4 : FROM ubuntu:latest ---> 27941809078c Step 2/4 : ENV DEBIAN_FRONTEND noninteractive ---> Using cache ---> 0d9f9d878365 Step 3/4 : RUN apt-get update ---> Using cache ---> 8fa620109141 Step 4/4 : RUN apt-get install -qqy x11-apps ---> Using cache ---> f23d3e83ed67 Successfully built f23d3e83ed67 Successfully tagged grafic:latest
4 - Arranquem
roger@roger:~/dev$ export DISPLAY=:0.0 roger@roger:~/dev$ xhost +local:docker roger@roger:~/dev$ docker run --network=host --rm -it --privileged --env DISPLAY=$DISPLAY -v $XAUTH:/root/.Xauthority --volume="$HOME/.Xauthority:/root/.Xauthority:rw" -v /tmp/.X11-unix:/tmp/.X11-unix grafic xclock xhost -
*Configuracions extres*
La mida de la pantalla es pot configurar amb variables d'entorn
DISPLAY_WIDTH Amplada en pixels de l'aplicació DISPLAY_HEIGHT Altura en pixels de l'aplicació