Fundamentos de Docker 2018

Toma las primeras clases gratis

Hola, en este post quiero comentarles como pueden correr una GUI en docker. Para ello utilizaremos el siguiente dockerfile

FROM centos
RUN yum install -y xeyes
CMD ["/usr/bin/xeyes"]

En este Dockerfile estamos utilizando como imagen base centos (una distribucion de linux), y luego con yum instalamos nuestra GUI llamada xeyes. Finalmente docker ejecutará el gui.

Para buildear esta imagen, en el terminal, nos dirigimos hacia la carpeta donde guardamos el dockerfile y creamos una imagen llamada centos:

sudo docker build -t gui-app .

Corremos nuestro os que contiene nuestra GUI con el siguiente comando:

sudo docker run --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" gui-app

Aquí viene lo interesante, el flag --env define una variable en nuestro contenedor que coincide con nuestra variable DISPLAY en el host, luego con --volume estamos duplicando nuestro pase para conectarse al display (el archivo .Xauthority) a nuestro contenedor, es decir, nuestro contenedor tendrá las mismas credenciales que nosotros para conectarse al display.

Pero que es un servidor X ?

El servidor X es el sistema que utiliza unix para definir el comportamiento y la interacción del display, mouse, teclado, etc. Es decir, es un framework para trabajar en ambientes graficos. .

Fuente: https://medium.com/@SaravSun/running-gui-applications-inside-docker-containers-83d65c0db110

Fundamentos de Docker 2018

Toma las primeras clases gratis

0 Comentarios

para escribir tu comentario

Artículos relacionados