2017-03-25 5 views
1

ドッカーでGUI appを実行してみました。 Xserverが公開されているためにセキュリティ上の問題が発生すると聞いています。ドコラーGUIアプリケーション(Eclipse)のxhostコマンド

  • [-d〜/ワークスペース] ||:私は、次の各ステップで行われているかを知るために、具体的xhost local:rootを希望しますます。mkdir〜/ワークスペース
  • xhostをローカル:ルート
  • ドッキングウィンドウの実行-i --net =ホスト--rm -e DISPLAYの-v $ HOME /ワークスペース/:/ワークスペース/:Z docbill/Ubuntuの-umake-日食

答えて

2
  • [ -d ~/workspace ] || mkdir ~/workspace

が存在しない場合、これはあなたのホームディレクトリにあるワークスペースディレクトリを作成します。

  • xhost local:root

これはXウィンドウディスプレイに接続するために、ローカルマシンのrootユーザーを許可します。

  • docker run -i --net=host --rm -e DISPLAY -v $HOME/workspace/:/workspace/:z docbill/ubuntu-umake-eclipse

これは、次のオプションを持つコンテナを実行します:

  • -i:このコマンドを実行した後に型指定されたインタラクティブ、入力が容器内の立ち上げプロセスによって受信されます。
  • --net=host:ホストネットワーキングでは、コンテナは独立したネットワークスタックで起動されません。代わりに、ホストのすべてのネットワーキングインターフェイスは、コンテナ内で直接アクセスできます。
  • --rm出口でコンテナを自動的にクリーンアップします。それ以外の場合、コンテナは停止状態のままです。
  • -e DISPLAYホストからのDISPLAY環境変数をコンテナに渡します。これはGUIプログラムに出力をどこに送るかを指示します。
  • -v $HOME/workspace/:/workspace/:zワークスペースフォルダをホスト上のホームディレクトリから、コンテナ内の/ workspaceフォルダにマッピングし、selinux共有設定を有効にします。
  • docbill/ubuntu-umake-eclipseドッカーハブのユーザーdocbillによって作成されたこのイメージを実行します(誰でもここにアカウントを作成できます)。これはドッカーからの公式画像ではなく、コミュニティから提出された画像です。

このコマンドは、RHELまたはCentOS Dockerホストで実行されているユーザー向けに設計されている可能性があります。 Windows用のDockerやMac用のDockerでは動作しませんが、Linuxの他のバリエーションでも動作します。

xhostとホストネットワーキングなしで、GUIでコンテナを実行するために同様のコマンドを使用しました。代わりに、私はXウィンドウソケット(/tmp/.X11-unix)をコンテナに直接マッピングしました:

docker run -it --rm -e DISPLAY -u `id -u` \ 
    -v /tmp/.X11-unix:/tmp/.X11-unix \ 
    -v /etc/localtime:/etc/localtime:ro \ 
    my_gui_image 
関連する問題