Подключение виртуальных машин Vagrant и контейнеров Docker к одной мостовой сети - PullRequest
0 голосов
/ 05 июля 2018

Я следовал инструкциям в ответе на этот вопрос, чтобы подключить виртуальные машины Vagrant и контейнеры Docker к одной и той же мостовой сети: Доступ к виртуальным машинам Vagrant из контейнера Docker . Статус сети следующий:

  • И контейнеры, и виртуальные машины могут корректно пропинговать друг друга.
  • Виртуальные машины и контейнеры не могут подключаться к портам, доступным друг другу с помощью curl.
  • Виртуальные машины имеют доступ к Интернету, а контейнеры - нет.
  • Я не могу получить доступ к контейнеру с хоста через открытый порт (ни через локальный хост, ни по IP-адресу контейнера).
  • Я могу правильно получить доступ к портам, доступным для виртуальных машин, с хоста и по сети.

Я создал сеть следующим образом:

docker network create -d bridge --gateway=192.168.51.1 --subnet=192.168.51.0/24 my-bridge

Контейнер Docker:

docker run -ti -p 8912:8080 -v ${PWD}:/workdir --network my-bridge --name mycontainer myimage /bin/bash

И Vagrantfile:

config.vm.define "management" do |management|
    management.vm.box = "centos/7"
    management.vm.network "public_network", ip: "192.168.51.50", bridge: "br-4ab95f14d7eb"
    management.vm.hostname = "myhostname"

    management.vm.network "forwarded_port", guest: 32769, host: 32769
    management.vm.network "forwarded_port", guest: 32768, host: 32768
    management.vm.network "forwarded_port", guest: 8080, host: 8081
    management.vm.network "forwarded_port", guest: 8443, host: 8082
    management.vm.network "forwarded_port", guest: 6080, host: 6080
    management.vm.network "forwarded_port", guest: 61880, host: 61880
    management.vm.network "forwarded_port", guest: 6182, host: 6182

    management.vm.provider "virtualbox" do |v|
      v.memory = 8192
      v.cpus = 4
    end

конец

Быть br-4ab95f14d7eb в мостовой сети:

# docker network ls | grep my-bridge
# 4ab95f14d7eb        my-bridge          bridge              local
# brctl show | grep 4ab95f14d7eb
# br-4ab95f14d7eb       8000.02423ffbd644   no  
...