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.