GMOのVPSサービス上でDockerを動作させようとした際、エラーとなり躓いたため対処法を残しておきます。
macでdockerからGUIアプリを立ち上げる
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である必要があります.
Dockerでコンテナのポートにアクセスする方法
Dockerでコンテナのポートにアクセスする方法についてまとめました. 特に,Windows, Mac 環境でDockerを利用する時は,boot2dockerを利用することになるので注意が必要です.
Dockerのコンテナにファイルを持ち込む方法
Docker のコンテナに自端末のローカルにあるファイルを持ち込む方法を紹介します。
Docker コンテナの名前変更
コンテナの名前変更方法を紹介します.
Docker で コンテナの保存(commit)
Dockerでコンテナに修正を加えた後で保存する方法をまとめました.
Docker利用時におけるクラッシュからのリカバリ手順
Dockerを利用してコンテナに色々と手を加えているときに、docker自身やdockerを動かしているコンピュータがクラッシュした時のリカバリ手順についてまとめました. クラッシュまでの作業をcommitしていなくても、クラッシュ時点からの作業を再開することが出来ます.
Dockerfileの作り方
Dockerイメージをpullした後にbashを起動して色々と手を加える(docker commitを使う)ことはできますが、あまりいい方法ではありません. イメージファイルに手で加える修正が複雑になるともはやどのようにイメージが作られたのかわからなくなり、メンテナビリティが低下してしまいます. 特に、誰かのイメージを拡張して使っている場合、独自にcommitしていると、オリジナルのイメージに入った更新を取り込むには「オリジナルのイメージ再取得 -> 独自に行ったcommitを再度行う」といった操作が必要になってしまいます. そこで、pullしたイメージはDockerfileを更新することによって拡張していくべきです.
Macで始めるdocker
今話題のdockerをMacで導入する手順です.