WSL의 Docker Container에서 GUI 사용하기
WSL의 Docker Container에서 GUI를 사용하기 위해 설정하는 방법을 정리한 글입니다.
WSL의 Docker Container에서 GUI 사용하기
GUI용 Docker Container 실행하고 X11 접근 권한 추가
WSL의 Docker Container 실행 시 옵션을 추가하면 GUI를 사용할 수 있다.
다음과 같이 Docker Container를 실행하면 된다.
1
docker run --name gui_study -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -i -t -v ~/gui_study_data:/root ubuntu
-e DISPLAY
: DISPLAY 환경변수 설정-v /tmp/.X11-unix:/tmp/.X11-unix
: 호스트의 X11 사용을 위해 Docker Container의 /tmp/.X11-unix 폴더를 호스트의 /tmp/.X11-unix 폴더로 연결
그리고 xhost
명령어를 사용하기 위해 다음 Package를 설치해 준다.
1
sudo apt install x11-xserver-utils
설치가 완료되면 xhost
명령어를 사용하여 호스트의 X11에 Docker Container가 접근할 수 있도록 권한을 추가해 준다. 참고로 호스트의 X11 접근 권한은 부팅 시마다 매번 다시 추가해 주어야 한다.
1
xhost +local:docker
GUI 확인
GUI를 확인하기 위해 Docker Container에 아래의 Package들을 설치해 준다.
1
2
apt update
apt install python3 python3-pip python3-opencv x11-apps
이제 Docker Container에서 Python으로 이미지를 확인하면 GUI를 확인할 수 있다.
1
2
3
4
5
import cv2
img = cv2.imread('lena.jpg', cv2.IMREAD_COLOR)
cv2.imshow('image', img)
cv2.waitKey(0)
또한 Docker Container에서 xclock
명령어를 사용하여 GUI 시계도 확인할 수 있다.
1
xclock
This post is licensed under CC BY 4.0 by the author.