げっとシステムログ

WEB開発メモ

Mac に開発環境を構築する - 2018版

  • Docker for Mac をベースに開発環境を構築する
CONTENTS
  1. Docker for Mac インストール
  2. docker-sync インストール
  3. home ディレクトリ設置
  4. 接続スクリプト用意
  5. まとめ
  6. 参考資料
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 でも良い。

TOP

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 が起動する。 ただ、プロセスが起動するのに時間がかかるので、それまでは同期は停止したままであることに注意が必要だ。

TOP

home ディレクトリ設置

home は /home にマウントされる。 この直下にユーザー名でホームディレクトリを作成して、設定ファイルを設置する。

git clone https://github.com/shun-getto-systems/configfiles.git home/$USER/.config

TOP

接続スクリプト用意

apps/ には、開発用のアプリケーションコードを用意する。

apps/<クライアント>/<プロジェクト>/<リポジトリ> というパスにしておく。

接続スクリプトは gettolabo プロジェクトの 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

ユーザー名はホームディレクトリの名前と一致させること。

TOP

まとめ

2018年現在の開発環境の構築方法をまとめた。

TOP

参考資料

TOP