A solução é:
Conceda ao docker os direitos para acessar o X-Server com:
xhost +local:docker
Sistema: Ubuntu 16.04
Gerenciador de exibição: lightdm
Estou tentando criar um contêiner docker FROM ubuntu:latest
em que um aplicativo GUI está sendo executado.
O aplicativo precisa ser executado com o sudo para acessar os comandos usados no interior.
Segui as instruções do este Blog e adaptei-o para o meu uso .
Depois de criar esse contêiner, primeiro o executei:
docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix repo-test-3 /bin/bash
então
./application
e o aplicativo é mostrado na tela.
No dia seguinte, tentei executar o mesmo contêiner com -u 0
para me tornar root e, depois que tentei iniciar o aplicativo, a seguinte mensagem de erro aparece:
No protocol specified
QXcbConnection: Could not connect to display :0
Aborted (core dumped)
Você tem alguma idéia de qual é o problema e como posso consertar isso?
A solução é:
Conceda ao docker os direitos para acessar o X-Server com:
xhost +local:docker