2018年6月14日木曜日

Docker for Mac(Ubuntu Desktopの導入方法)

以下、Docker for Macを使用してUbuntuのGui操作を可能にする手順を記載してみた。


◾️Docker for Mac導入
導入方法については、割愛。

◾️Socatの導入・起動
1)port6000(コンテナのGUI操作を行うx11用のボート)を通して、ホスト側の画面がコンテナ内と通信できるようにするために
使用する。

$ brew install socat


2)下記コマンドで、port6000(UnixGUI操作を行うxquartz用のポート)への通信をホスト側のディスプレイで
表示するようにします。
forkは複数のコネクションを管理できるようにするオプションで、reuseaddrはポートを再利用可能にするオプションです。

$ socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"


◾️Xquartzの導入・起動
1)最近のmacOSではデフォルトでは入っていないので、導入と起動を行う。
$ brew cask install xquartz
$ open -a XQuartz 



◾️Dockerイメージの導入

$ docker pull ubuntu


◾️Dockerコンテナの作成・起動
1)dockerコンテナ側からMacにアクセスする際のホスト側のIPアドレスを取得します
$ ifconfig en0 | grep inet | awk '$1=="inet" {print $2}'


2)以下、上記で得たIPアドレスを記載して、dockerのコンテナの作成と起動を行なっていく。
$ docker run -it -e DISPLAY="xxx.xxx.xxx.xxx:0" ubuntu
(上記、アドレスは、先ほど取得したIPアドレスになる。)


◾️ホストにXサーバへの接続権限を付与

1)XquartzGUIアプリのメニューバーから「Applications」→「Terminal」から開く。


2)下記のコマンドを実行し、ホストにXサーバーへの接続権限を与えます。
xhost XXX.xxx.xxx.xxx
(上記、アドレスは、先ほど取得したIPアドレスになる。)


◾️Dockerコンテナ内にGUIアプリを導入・起動
1)コンテナ内で以下を実行する。
# apt-get update
# apt-get install ubuntu-desktop
# exit 
(コンテナを再起動するためexitを行う)

2)ホスト側でコンテナを再起動

docker restart CONTAINER_ID

3)対処のコンテナに入る。
docker run -it -e DISPLAY="xxx.xxx.xxx.xxx:0" ubuntu

4)以下、導入を行う。
# apt-get install nautilus

5)再起動したコンテナ内からファイルマネージャーを起動を行う。
# nautilus



<参照先>

https://qiita.com/ryoya-s/items/ee1daf9cab18c100c990




0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...