모니터에 Docker 컨테이너에서 이동하는 X11 응용 프로그램 윈도우 표시

2098 단어 LinuxDockerX11

하고 싶은 일

  • Docker 호스트(Linux 서버)에서 X11 응용 프로그램 용기 이동
  • 옆에 있는 노트북(MacBook)에서 Docker 호스트에 연결하여 용기로 이동하는 X11 응용 프로그램의 창을 옆에 있는 노트북 모니터에 표시

  • 어쩌면'왜 그런 짓을 했을까'라고 생각할지도 모르지만, 하고 싶은 일도 어쩔 수 없다.

    Docker 호스트에 X11 Forwarding을 보내면서 SSH 연결


    이 일대는 불평만 늘어놓으면 메시지가 끊이지 않아 시원하다.
  • Docker 호스트 측면sshd_config에서 설정X11Forwarding yes
  • Docker 호스트에 SSH를 연결할 때-X 추가 옵션 등으로 X11 Forwarding 유효
  • X11 응용 프로그램의 Docker 이미지 준비


    이번에는 간단한 예xeyes로 움직이는 Docker 이미지.
    Dockerfile
    FROM alpine
    
    RUN apk --no-cache add xeyes
    
    CMD ["/usr/bin/xeyes"]
    
    $ docker build -t xeyes .
    
    이름이 xeyes인 Docker 이미지가 작성되었습니다.

    X11 응용 프로그램을 시작하는 Docker 컨테이너


    컨테이너를 가동할 때의 요점은 다음과 같은 두 가지가 있다.
  • host 네트워크--net host에서 시작하여 모니터$DISPLAY에 액세스할 수 있음
  • 용기에서 X11의 인증 정보를 공유$HOME/.Xauthority
  • $ docker run --rm -it \
        --net host \
        -e DISPLAY=$DISPLAY \
        -v $HOME/.Xauthority:/root/.Xauthority \
        xeyes
    
    제대로 작동하면 이런 창이 옆에 있는 PC 화면에 나타난다.

    좋은 웹페이지 즐겨찾기