Backend/도커

docker container에서 gui 작업

봄다온 2024. 11. 17. 10:20

도커로 환경을 분리하여 작업한다 하더라도 어쩔수 없이 gui가 필요할때가 있다.
ex) opencv imshow

이를 해결하기 위해선 -v로 host의 X11데이터를 컨테이너안으로 마운트 시켜주면 후 -e로 DISPALY환경변수를 지정해주면 된다.

docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY <YOUR_REPOSITORY>:<TAG>

이후 컨테이너 안에서 xhost +local:docker 해준다. docker user가 실행하는 모든 프로그램을 x windows와 통신하게 해준다.

apt-get update
apt-get install x11-apps

x11-apps를 설치후 필요한 gui작업을 하면 따로 작은창으로 나온다.

만약 오류가 발생한다면 Host에서 다음 명령어를 입력해야 한다

xhost +local:docker

이는 docker user가 실행하는 모든 프로그램을 X windows와 통신하게 해준다