내 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 클러스터에서 실행되어야 하므로 여기서 권한 있는 컨테이너를 실행할 수 없습니다. 이것이 최선의 접근 방식은 아니라는 것을 알고 있지만 몇 가지 엄격한 요구 사항이 있으므로 몇 가지 가능성을 찾아보세요.