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を配信するために使用され、Dockerコンテナとローカルシステム間の暗号化されたデータ通信を提供します。

    その後、この方法はXpra + Xepyrをローカルに設定するプロセスを続行します。

    XPula+サフィールセッション回復機能を使用して、Firefox、LibreOffice、xtermなどのコンテナ内で実行されているアプリケーションを表示できます。これにより、接続が切断されてもアプリケーションの状態を失うことなく、どこからでもデスクトップを開くことができます。

    Xpraはまた、自己調整され、比較的待ち時間に敏感でないカスタムプロトコルを使用しているため、標準Xよりも悪いリンクで使用できます。

    クライアントコンピュータが表示されたウィンドウを管理できるように、アプリケーションにはルートがない可能性があります。

    源泉:DOCKER DESKTOP:SSHを介してDockerコンテナ内で実行されるデスクトップ

引用する

おすすめ記事