도커 GUI 연결 명령어
$ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY [레포지토리 name]:[TAG]
-i
: 상호작용 모드로 실행되어 컨테이너 내부에서 입력을 받을 수 있습니다.-t
: 가상 터미널을 할당하여 터미널의 기능을 사용할 수 있게 합니다.-v: /tmp/.X11-unix:/tmp/.X11-unix
: 호스트의 /tmp/.X11-unix
디렉토리를 컨테이너의 동일한 경로에 마운트합니다. 이를 통해 컨테이너가 호스트의 X11 소켓을 사용하여 그래픽 애플리케이션을 실행할 수 있게 합니다.-e: DISPLAY=unix$DISPLAY
: DISPLAY
환경 변수를 설정하여 X11 서버의 디스플레이를 지정합니다. 이는 그래픽 애플리케이션이 호스트의 디스플레이에 접근할 수 있게 합니다. 여기서 unix$DISPLAY
는 호스트의 DISPLAY
변수를 컨테이너에 전달합니다.<aside> 💡 -it 옵션이 터미널 접근 용도로 자주 사용됩니다.
</aside>
apt-get update
apt-get install x11-apps
xeyes
위와 같은 오류가 발생하므로, host(도커 외부)에서 다음 명령어를 입력해야 합니다.
xhost +local:docker
docker user가 실행하는 모든 프로그램을 X windows와 통신하게 합니다.
xeyes
위 사진처럼 gui가 도커 내에서 활성화됩니다.