I'm trying to create a Vagrant project with: 1. A VirtualBox VM(Ubonda) with internet access (bridged) that can communicato only with the 2. 2. A Docker container(Slave-Connector) that can communicate with 1. (bridged) and with 3. (host only) 3. A Docker(Slave1) container that is only accessible by 2.
This is my VagrantFile:
Vagrant.configure("2") do |config|
config.vm.define "ubonda" do |vm0|
vm0.vm.box = "hashicorp/precise64"
vm0.vm.provider "virtualbox"
vm0.vm.network "public_network", ip: "192.168.1.75", bridge: "wlan0"
end
config.vm.define "slave-connector" do |vm1|
vm1.vm.hostname = "slave-connector"
vm1.vm.provider "docker" do |d|
d.build_dir = "."
d.name = 'slave-connector'
end
vm1.vm.network :public_network, type: "dhcp", bridge: "wlan0", docker_network__ip_range: "192.168.1.252/24"
vm1.vm.network :private_network,ip: "172.20.128.2", netmask: "16"
end
config.vm.define "slave1" do |vm2|
vm2.vm.hostname = "slave1"
vm2.vm.provider "docker" do |d|
d.build_dir = "."
d.name = 'slave1'
end
vm2.vm.network :private_network,ip: "172.20.128.3", netmask: "16"
end
end
I don't know why but Slave1 can ping Ubonda even if it hasn't an access to it! How can I achieve this?
I think that the correct way of achieving this is to
docker network create bridge2 --gateway=192.168.50.1 --subnet=192.168.50.1/24
docker network ls
Vagrant.configure("2") do |config|
config.vm.define "ubonda" do |vm0|
vm0.vm.box = "hashicorp/precise64
vm0.vm.provider "virtualbox"
vm0.vm.network "public_network", ip: "192.168.50.4", bridge: "br-9ed82ac09f1b"
end
config.vm.define "slave-connector" do |vm1|
vm1.vm.hostname = "slave-connector"
vm1.vm.provider "docker" do |d|
d.build_dir = "."
d.name = 'slave-connector'
end
vm1.vm.network :public_network, ip: "192.168.50.5", bridge: "br-9ed82ac09f1b"
vm1.vm.network :private_network,ip: "50.20.128.2", netmask: "16", , docker_network__internal: true
end
config.vm.define "slave1" do |vm2|
vm2.vm.hostname = "slave1"
vm2.vm.provider "docker" do |d|
d.build_dir = "."
d.name = 'slave1'
end
vm2.vm.network :private_network,ip: "50.20.128.3", netmask: "16", docker_network__internal: true
end
end