- Docker for Mac をベースに開発環境を構築する
CONTENTS
SOURCE
ENVIRONMENTS
- Mac : MacBook Pro (Retina, 13-inch, Mid 2014)
- OS : macOS High Sierra 10.13.3
- Docker : 17.12.0-ce-mac49
Docker for Mac インストール
Docker For Mac ダウンロードページ からダウンロードしてインストールする。
Docker はなかなかの不安定感があるので、 Stable を選択した方が安定して開発できる。 もちろん、新しい機能が欲しい場合は Edge でも良い。
docker-sync インストール
システムに gem をインストールする。
sudo gem install -n /usr/local/bin docker-sync
mkmf.rb can't find header files for ruby
このエラーメッセージで止まる場合は XCode のツールをインストールする必要がある。
sudo xcode-select --install
docker-sync.yml
以下の内容で docker-sync.yml を作成する。
version: "2" options: verbose: true syncs: apps: sync_userid: '1000' src: './apps' sync_excludes: [] home: sync_userid: '1000' src: './home' sync_excludes: [".local/share/nvim/swap"]
ディレクトリ構成は以下の通り。
./ + docker-sync.yml + bin/ + apps/ + home/$USER/
これをタイムマシンの対象ディレクトリの任意の位置に配置する。
例えば Works/works
など。
Documents
の下だと、クラウド同期の対象ディレクトリなので、別なパスを選択する。
docker-sync.yml
を作成したら、 docker-sync
を起動する。
docker-sync start
最初は apps と home のコピーが行われ、そのあと同期処理が開始する。
以下のコマンドで、 restart ポリシーを always に設定しておく。
docker container update --restart=always home docker container update --restart=always apps
これで、 Mac を再起動した時など、 Docker for Mac 起動時に docker-sync が起動する。 ただ、プロセスが起動するのに時間がかかるので、それまでは同期は停止したままであることに注意が必要だ。
home ディレクトリ設置
home は /home
にマウントされる。
この直下にユーザー名でホームディレクトリを作成して、設定ファイルを設置する。
git clone https://github.com/shun-getto-systems/configfiles.git home/$USER/.config
接続スクリプト用意
apps/
には、開発用のアプリケーションコードを用意する。
apps/<クライアント>/<プロジェクト>/<リポジトリ>
というパスにしておく。
接続スクリプトは getto
の labo
プロジェクトの connect
なので、 apps/getto/labo/connect
に設置する。
bin
ディレクトリに実行ファイルのシンボリックリンクを設置しておくことでアクセスを簡単にする。
git clone https://github.com/getto-systems/labo-connect.git apps/getto/labo/connect cd bin ln -s ../apps/getto/labo/connect/bin/connect
これで、以下のコマンドで getto/labo-slim
イメージに接続できる。
./bin/connect $USER
ユーザー名はホームディレクトリの名前と一致させること。
まとめ
2018年現在の開発環境の構築方法をまとめた。