在容器上运行 X Window/X11 应用程序

在容器上运行 X Window/X11 应用程序

我的 Dockerfile 看起来像这样:

FROM centos:7 

RUN mkdir -p /tmp/app_config
WORKDIR /tmp/app_config
COPY app/ /tmp/app_config
COPY ./app_init.sh /tmp/app_config/

CMD ["./app_init.sh"]

app_init.sh有这个。

#!/bin/bash
su - appuser -c /tmp/app_config/main &

当我运行这个容器时docker run -it app/two:0.3.4我得到Cannot open display :

但是,当我使用执行这个容器时docker run --rm --privileged -ti -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup d568052b2e7c /usr/sbin/init

它要求我登录,然后我可以手动运行此命令来启动我的应用程序:su - appuser -c /tmp/app_config/main &,就像在虚拟机中一样。

问题有没有一种方法可以在不运行特权容器的情况下运行 X Window 应用程序?

此部署应该在 Kubernetes 集群上运行,因此不可能在那里运行特权容器。我知道这不是最好的方法,但我们有一些严格的要求,因此寻找一些可能性。

相关内容