サーバーサイドの開発をするために
Dockerでローカル環境構築を検討したのですが、
Windows10 Homeだと、Docker Toolboxになるし・・・
WSLだとdocker-composeが動かないし・・・
ほかにどういう環境がイケてるのだろうかと調べてみると、
VagrantでVirtualBox上にCoreOSインストールしてDockerを動かすのが良いらしいです。
CoreOS使う利点としては下の3つかなと思いました。
- docker-composeが動く
- Dockerインストール済
- 移植性が高い
下の3つをダウンロードして、適当にインストールします。
Vagrant
Virtual Box
#CoreOS
https://github.com/coreos/coreos-vagrant
Vagrantのプラグインインストール
ファイル共有で使用する。
vagrant plugin install vagrant-winnfsd
※nfs形式以外で共有ディレクトリでnpm install
実行するとエラーになります。
VirtualBoxと連携する場合は必要になるみたい
vagrant plugin install vagrant-ignition
Vagrantfileの編集
Windowsのファイルを共有する設定をします。
共有ディレクトリ指定
35行目 $shared_folders = {'Windows側' => 'CoreOS側'}
ポートフォワード指定
36行目 $forwarded_ports = {CoreOS側=> Windows側}
共有ディレクトリ指定
148行目 config.vm.synced_folder host_folder.to_s, guest_folder.to_s, id: "core-share%02d" % index, nfs: true, mount_options: ['nolock,vers=3,udp']
↓に変更
148行目 config.vm.synced_folder host_folder.to_s, guest_folder.to_s, id: "core-share%02d" % index, type: "nfs"
※nfs: trueオプションについて調べてみたけど情報が全然でてこない・・・・
オフィシャルのマニュアル
適当な行にdocker-composeインストールコマンドを追加
$get_compose = <<-'EOF'
sudo mkdir -p /opt/bin
sudo curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /opt/bin/docker-compose
sudo chmod +x /opt/bin/docker-compose
EOF
起動
CoreOSのページのReadmeに書いてあるとおりに vagrant up
すれば起動するはず。
https://github.com/coreos/coreos-vagrant