使用 sudo 在 Docker 容器中启动 GUI 应用程序

使用 sudo 在 Docker 容器中启动 GUI 应用程序

系统:Ubuntu 16.04
显示管理器:lightdm

我正在尝试创建一个FROM ubuntu:latest运行 GUI 应用程序的 docker 容器。该应用程序需要使用 sudo 执行才能访问内部使用的命令。我遵循了博客并根据我的用途进行改编。

构建该容器后,我首先使用以下命令运行它:

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

然后

./application

并且应用程序显示在屏幕上。

接下来我尝试运行相同的容器并-u 0成为 root,在我尝试启动应用程序后出现以下错误消息:

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

您知道问题是什么以及我该如何解决这个问题吗?

答案1

解决方案是:

授予docker访问X-Server的权限:

xhost +local:docker

相关内容