**Entorn gràfic a Docker**
{{tag> docker grafic #FpInfor #Ciber #CiberMp03 #Ceti #CetiMp03}}
* És possible arrencar aplicacions amb entorn gràfic amb docker.
* Per fer-ho, es necessiten 2 passes:
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
* Això pot servir per provar les aplicacions en diferents entorns, per provar les web amb diferents versions dels navegadors,etc...
***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=====
- Crea una imatge docker per a poder provar la teva aplicació web amb una versió de firefox antiga
\\