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ó


EXERCICI Test del procés

  1. Crea una imatge docker per a poder provar la teva aplicació web amb una versió de firefox antiga