コンテナで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 クラスタで実行する必要があるため、ここで特権コンテナを実行することはできません。これが最善のアプローチではないことを知っていますが、いくつかの厳しい要件があるので、いくつかの可能性を見つけてください。

関連情報