Shipyard - Open Source Docker Management
Vagrantfile
VAGRANTFILE_API_VERSION = "2"
SHIPYARD_HOST_IP = "192.168.33.10"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "yungsang/boot2docker"
config.vm.network :forwarded_port, guest: 2375, host: 2375, auto_correct: true
config.vm.network :forwarded_port, guest: 2375, host: 4243, disabled: true
config.vm.define "shipyard" do |shipyard|
shipyard.vm.provider "virtualbox" do |v|
v.memory = 2048
end
shipyard.vm.network "private_network", ip: SHIPYARD_HOST_IP
shipyard.vm.provision :docker do |d|
d.pull_images "shipyard/deploy"
d.pull_images "shipyard/redis"
d.pull_images "shipyard/router"
d.pull_images "shipyard/lb"
d.pull_images "shipyard/db"
d.pull_images "shipyard/shipyard:latest"
d.run "shipyard/deploy",
args: "--rm -v /var/run/docker.sock:/docker.sock",
cmd: "setup",
auto_assign_name: false, daemonize: false
end
shipyard.vm.network :forwarded_port, guest: 8000, host: 8000
shipyard.vm.provision :shell do |s|
s.inline = <<-EOT
# Wait to complete starting servers
sleep 5
EOT
end
shipyard.vm.provision :docker do |d|
d.pull_images "shipyard/agent:latest"
d.run "shipyard_agent",
image: "shipyard/agent",
args: "-v /var/run/docker.sock:/docker.sock -p 4500:4500"
end
end
end
$ vagrant up
$ open http://localhost:8000
Username: admin Password: shipyard
Cf.) https://github.com/shipyard/shipyard
※) 使われている docker-py が古いせいか、コンテナの作成時に一部微妙な感じになります。(port の publish とか)