1. 前提 OS: Mac OSX Docker, homebrewをインストール済み GUIで動作させたいDockerコンテナがある 2. 実行方法 (1) 環境のセットアップ homebrewを使って必要なソフトウェアをインストールしていきます. homebrewのインストールがまだであれば以下のコマンドを実行してください.
1 |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
最後に,XQuartzというX Window Systemのクライアントを実行します.
1 2 3 4 |
brew install socat brew install caskroom/cask/brew-cask brew cask install xquartz open -a XQuartz |
(2) socatの実行 (1)の最後に立ち上げたXQuartzのウィンドウ上にて以下のコマンドを実行します.
1 |
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\" |
XQuartzのウィンドウ上にて実行することがポイントです. 不安であればウィンドウ上でecho $DISPLAYを実行し,値が返ってくることを確認してください. (3) dockerコンテナの実行 以下のようにdockerコンテナを実行してください.
1 |
docker run -e DISPLAY=192.168.0.2:0 docker_container |
ポイントは ・DISPLAY=で指定するIPはdockerを実行している(=host側の)端末のIPです. ifconfig等を実行して,端末に割り当てられているIPを確認してください. docker containerの内部からアクセス可能なIPである必要があります.