我在学习“与马克文对接”。以下是我的设置:
G 192.168.1.1,网关(物理)
W 192.168.1.2,windows 10,以太网卡(物理)
V 192.168.1.5,virtualbox+centos7,桥接网络
c1 192.168.1.10,码头集装箱,macnet
c2 192.168.1.11,码头集装箱,macnet
macnet是由
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=enp0s3 macnet
c1和c2是由
docker run -it --net=macnet --ip=192.168.1.10 -h=c1 anapsix/alpine-java bash
docker run -it --net=macnet --ip=192.168.1.11 -h=c2 anapsix/alpine-java bash
码头版本为17.06.0-ce
我期待以下所有的工作,但只有第一个工作(->的意思是ping):
c1 <-> c2确定
c1 <-> V失败
c1 <-> W失败
c1 -> G失败
上面的步骤有什么问题吗?
顺便问一下,有人能帮助创建标签"macvlan“和"ipvlan”吗?
发布于 2017-08-02 15:34:27
这是一种预期的行为,因为使用macvlan创建的网络在VM和macvlan桥之间没有任何连接(默认情况下,停靠器在桥模式下创建macvlan网络)。在您创建的容器中,C1和C2的接口被附加到macvlan桥上。这就是为什么C1和C2能够相互平分的原因,但是从VM(来宾)来说,您不能平C1和C2,因此不能从主机。
要从VM连接到容器C1和C2,创建一个类型桥的接口并分配一个ip。命令如下:(有一些命令可能会产生副作用。您可能会完全松脱与VM的连接。如果您通过ssh连接,请确保您有到VM的2个接口和与网络192.168.1.0/24中没有ip的VM的ssh )。
请注意,这些更改不是引导持久的。
为了能够从主机上进行ping,您需要确保VM接口在虚拟盒VM网络设置中具有混杂模式。
发布于 2017-08-02 10:18:02
我和你有同样的安排。我指的是运行在Ubuntu之上的一个VBox和两个容器。我不知道你是否有一个特定的目的或只是测试对接网络。如果是后者,那为什么不用桥作为司机呢?下面的命令为我创建了一个网络:
docker network create -d bridge -o parent=enp0s3 skynet然后我用它做了两个容器。
~$ docker run -itd --net=skynet --name container2 myimage bash
~$ docker run -itd --net=skynet --name container1 myimage bash并检查了两个容器是否可以相互切换,以及本地主机和外部网络(如google.com或yahoo.com)。
让我知道这是否有帮助。
注:对于您的查询,您的设置没有任何问题。如果司机是macvlan,那么你就不能从集装箱里伸出手来。
https://stackoverflow.com/questions/45451647
复制相似问题