Docker Machineを使ってもいいけど、なんとなく使い慣れたVagrantを挟んで、Docker Composeしてみたいなんてときがあると思います。
そんな時は、VagrantでCoreOsを起動し、Docker Composeをインストールして使いましょう。
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.box = "coreos-alpha" config.vm.box_check_update = false config.vm.box_url = ["https://storage.googleapis.com/alpha.release.core-os.net/amd64-usr/current/coreos_production_vagrant.json"] config.vm.network "private_network", ip: "192.168.33.11" config.vm.synced_folder "./app", "/tmp/app", type: "nfs" config.vm.provider "virtualbox" do |vb| vb.memory = "1024" end config.vm.provision "shell", inline: <<-SHELL curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > ~/docker-compose sudo mkdir /opt sudo mkdir /opt/bin sudo mv ~/docker-compose /opt/bin/docker-compose sudo chown root:root /opt/bin/docker-compose sudo chmod +x /opt/bin/docker-compose SHELL config.vm.provision "shell", inline: "docker-compose -d -f /tmp/app/docker-compose.yml up", run: "always" end
ディレクトリは
. ./Vagrantfile ./app/ ./app/docker-compose.yml
みたいになっています。
CoreOsのイメージは最新版のalpha版がvagrant upと同時にダウンロードされます。
nfsでappの中身がCoreOsの/tmp/appにマウントされるので、docker-composeに必要な各種はそこに入れておきましょう。