KVM 대신 LXC의 X 및 xdotool

KVM 대신 LXC의 X 및 xdotool

지금까지 다양하게 사용하고 있어요자동화/xdo 도구작업을 수행하고 중단 없이 작업할 수 있도록 KVM 가상 머신(Linux 게스트)의 스크립트입니다. VirtIO 디스크를 사용하고 있지만 대부분의 경우 게스트 성능이 여전히 느립니다.

LXC 컨테이너에서 동일한 작업을 수행할 수 있습니까?도커?

답변1

성능에 대해서는 아무 말도 할 수 없지만 이 문제를 조사하는 동안 다음과 같은 질문과 답변을 발견했습니다.Docker에서 GUI 애플리케이션을 실행할 수 있나요?이를 달성하는 3가지 방법을 보여줍니다.

  1. VNC를 통해 AppX 실행

    이 방법은 다음 Dockerfile을 사용하여 표시됩니다.

    # Firefox over VNC
    #
    # VERSION               0.1
    # DOCKER-VERSION        0.2
    
    from    ubuntu:12.04
    # make sure the package repository is up to date
    run     echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
    run     apt-get update
    
    # Install vnc, xvfb in order to create a 'fake' display and firefox
    run     apt-get install -y x11vnc xvfb firefox
    run     mkdir /.vnc
    # Setup a password
    run     x11vnc -storepasswd 1234 ~/.vnc/passwd
    # Autostart firefox (might not be the best way to do it, but it does the trick)
    run     bash -c 'echo "firefox" >> /.bashrc'
    

    그런 다음 Docker 인스턴스를 다음과 같이 실행합니다.

    $ docker run -p 5900 creack/firefox-vnc x11vnc -forever -usepw -create
    
  2. Docker + 하위 사용자 사용

    Subuser + Docker를 사용하면 단일 애플리케이션만 포함된 Docker VM을 직접 실행하여 물리적 호스트의 특정 폴더에 대한 좁은 액세스 권한을 부여할 수 있습니다.

    Subuser는 설치가 쉽도록 설계되었으며 그 자체로는 기술적으로 중요하지 않습니다. 이는 단지 docker의 래퍼일 뿐이며 그 이상은 아닙니다.

    하위 사용자는 Docker 컨테이너를 시작하고 호스트와 하위 컨테이너 간에 볼륨을 공유합니다. 그게 다야.

    이것은Subuser의 작동 모습을 보여주는 비디오.

  3. SSH를 통해 X11 실행

    마지막 기술은 X11 + SSH 서비스를 실행하는 Docker 인스턴스를 설정하는 방법을 보여줍니다. 그러면 이 설정을 통해 모든 X11 애플리케이션이 SSH를 통해 터널링할 수 있습니다.

    ssh는 X11을 전달하는 데 사용되며 도커 컨테이너와 로컬 시스템 간의 암호화된 데이터 통신을 제공합니다.

    그런 다음 이 방법은 Xpra + Xepyr을 로컬로 설정하는 과정을 계속합니다.

    XPula+사피르세션 복구 기능을 사용하여 Firefox, LibreOffice, xterm 등과 같은 컨테이너 내에서 실행되는 애플리케이션을 표시할 수 있습니다. 따라서 연결이 끊어지더라도 애플리케이션의 상태를 잃지 않고 어디서나 데스크탑을 열 수 있습니다.

    Xpra는 또한 자체 조정되고 상대적으로 대기 시간에 민감하지 않은 맞춤형 프로토콜을 사용하므로 표준 X보다 열악한 링크에서 사용할 수 있습니다.

    클라이언트 컴퓨터가 표시된 창을 관리할 수 있도록 응용 프로그램은 루트가 없을 수 있습니다.

    원천:DOCKER DESKTOP: SSH를 통해 Docker 컨테이너 내에서 실행되는 데스크톱

인용하다

관련 정보