docker Container에서 GUI firefox 실행을 해봅시다.
환경정보
ubuntu 20.04.5
docker 20.10.19
주의! 컨테이너 생성부터 모두 docker host의 GUI 데스크톱에서 진행해야 합니다.
1. GUI사용을 위한 컨테이너 생성
docker run -d -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --name con_test ubuntu:focal
여기서 GUI와 관련하여 중요한 포인트는 -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY 입니다.
--name con_test는 컨테이너명 지정한 것이고, ubuntu:focal은 ubuntu의 버전을 명시한 것입니다.
2. docker의 host에서 인증쿠키 확인
xauth list
참고로 GUI 연결 시 마다 인증쿠키가 변경됩니다.
컨테이너 접속 전에 사용하기 위해 미리 복사해 둡시다.
3. 컨테이너에 접속 후 업데이트 및 필요한 패키지 설치
apt-get update -y
apt-get install xauth -y
apt-get install firefox -y
4. GUI 사용을 위해 인증쿠키 설정
xauth add 복사한인증쿠키
제대로 작성 했다면 에러가 나더라도 정상입니다.
5. firefox 실행
firefox
명령어를 입력하면 해당 컨테이너의 firefox가 GUI로 실행됩니다.
참고로 이 단계에서 겼었던 에러 2가지가 있습니다.
1) ubuntu 20.04.5 (focal)
Unable to init server: Broadway display type not supported: unix
Error: cannot open display: unix
CLI 모드에서 컨테이너를 생성한 경우입니다. GUI에서 생성해서 해결 되었습니다.
2) ubuntu 22.04.1
ommand '/usr/bin/firefox' requires the firefox snap to be installed.
Please install it with:
snap install firefox
이 에러는 짧게 나마 구글 검색을 해봤지만 만족스러운 답을 찾지 못했습니다.
* 참고한 글
번외
.... 사실이건 지난 주말에 어떤 문제를 해결하기 위해 적용했던 겁니다만....
그 문제에는 전~혀 소용이 없더군요..... 하하핫..
그래도 하나 알았으니.. 위안을..