DockerでVagrantをプロバイダANDプロビジョナリとして実行することはできますか?
はいあなたがすることができます - 私は、最新の放浪のバージョンでチェックしませんでしたが、これは浮浪者まで働いていた1.8.1
あなたは基本的にしたいことは、あなたがしたい場合はVM(実行中のUbuntuまたはcoreOSをスピンすることです速くスピンして最小限に走る)、複数のドッカーコンテナを走らせる。
迷惑メール・ドッカー・プロバイダを実行しても、独自のVagrantファイルを管理できます。
ので、あなたがメインVagrantfile(通常はプロジェクトのルートとして座っ)
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
...
config.vm.provider "docker" do |docker|
docker.vagrant_vagrantfile = "host/Vagrantfile"
end
...
end
を必要とし、あなたにhost/Vagrantfile
あなたは
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Create and configure the VM(s)
Vagrant.configure(2) do |config|
config.vm.hostname = "docker-host"
# Spin up your own box (or one from Atlas)
# and then provision it with Docker
config.vm.box = "ubuntu/trusty64"
config.vm.provision "docker"
...
end
のようなものを持っているでしょう、これはどの別の典型的なVagrantfile
です最小限のOSが必要な場合はubuntu、centos、またはcoreOSになることができるボックスを指し、ドッカーをプロビジョニングします(つまり、ボックスにインストールされていない場合はドッカーをインストールします)。
OKこの段階では、docker
のプロバイダを持つVMを持っているプロバイダが、ドッカーをプロビジョニングするVMを指しています。今、あなたはあなたの2つのコンテナあなたの主なVagrantfile
追加します2つのコンテナで
、セットアップにこれはあなたの2ドッカプロバイダ/コンテナパイソンとRedisのをスピンアップします
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure(2) do |config|
...
config.vm.provider "docker" do |docker|
docker.vagrant_vagrantfile = "host/Vagrantfile"
end
...
config.vm.define "python" do |python|
python.vm.provider "docker" do |docker|
...
docker.image = "xxx"
docker.ports = [80:80]
docker.name = "python-system"
end
end
config.vm.define "redis" do |redis|
redis.vm.provider "docker" do |docker|
...
docker.image = "xxx"
docker.ports = [80:80]
docker.name = "redis"
end
end
end
ような何かをしたいです。
ドッカーを実行するVMが必要ですか? – CMPS