dockerでイメージ内のGUIアプリが使えるってことを、
割と最近知ったので、macでやってみたことのメモ。
dockerはOSのネイティブな部分は、
動作しているホストOSのものを利用するので、
GUIアプリを使うためにはディスプレイへのIFが
あればよいってことみたい。
GUIアプリを起動するまでの手順
xquartzインストール
xquartz(X11)はmac向けにウィンドウシステムを操作するための
プロトコルを提供するもの。(wikipedia)
インストールはbrewでOK。
brew install xquartz
インストールが完了したら、
open -a XQuartz
で、起動。
大きなXのアイコンが出て起動したら、
XQuartz > 環境設定 > セキュリティ > ネットワーク・クライアントからの接続を許可
にチェック
ここで1回ログアウト。
ログアウトしないとxquartzが設定するDISPLAY環境変数が設定されないので注意!
IPアドレスxhost登録
xhostコマンドはX11が接続を許可するホストの登録、削除を行うコマンド。
IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}') echo $IP /usr/X11/bin/xhost + $IP
先ほどのDISPLAY環境変数は設定されていないと、
xhostのコマンドで以下のようなエラーになる。
/usr/X11/bin/xhost: unable to open display ""
firefoxイメージ起動
最後にdocker runしてみましょー。
export PATH=/usr/X11/bin:$PATH docker run -d --name firefox -e DISPLAY=$IP:0 -v /tmp/.X11-unix:/tmp/.X11-unix jess/firefox
うまく起動すると、firefoxが立ち上がってくるはず。
ネット検索もそのままできますね!
20代前半までは東京で音楽をやりながら両手の指以上の業種でアルバイト生活をしていましたが、某大手プロバイダのテレアポのバイトでPCの知識の無さに愕然とし、コンピュータをもっと知りたい!と思ったことをきっかけに25歳の時にITの世界に未経験で飛び込みました。
紆余曲折を経て、現在は個人事業主としてお仕事させていただいており、10年ほどになります。
web制作から企業システム構築、ツール開発など、フロントエンドもバックエンドもサーバーもDBAも依頼があれば何でもやってきた雑食系エンジニアです。
今風にいうとフルスタックエンジニアということになるのでしょうか??
→ 詳細プロフィールというか、生い立ちはこちら
→スキルシートをご覧になる場合はこちら
→お仕事のご依頼やお見積りなどお問い合わせはこちらから!
コメント