web-dev-qa-db-fra.com

Démarrer l'application graphique dans le conteneur Docker avec sudo

Système: Ubuntu 16.04
Display-Manager: lightdm

J'essaie de créer un conteneur docker FROM ubuntu:latest où une application graphique est en cours d'exécution. L'application doit être exécutée avec Sudo pour accéder aux commandes internes utilisées. J'ai suivi les instructions de this Blog et l'ai adapté à mon usage.

Après avoir construit ce conteneur, je l'ai d'abord exécuté avec:

docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix repo-test-3 /bin/bash

ensuite

./application

et l'application est affichée à l'écran.

La prochaine fois que j'ai essayé d'exécuter le même conteneur avec -u 0 pour devenir root, et après avoir essayé de démarrer l'application, le message d'erreur suivant apparaît:

No protocol specified
QXcbConnection: Could not connect to display :0
Aborted (core dumped)

Avez-vous une idée du problème et de la façon dont je peux résoudre ce problème?

1
Daniel Eisenreich

La solution est:

Donnez à docker les droits pour accéder au serveur X avec:

xhost +local:docker
1
Daniel Eisenreich