首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的码头设置有什么问题?

我的码头设置有什么问题?
EN

Stack Overflow用户
提问于 2017-08-02 04:44:57
回答 2查看 4.6K关注 0票数 2

我在学习“与马克文对接”。以下是我的设置:

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

c1c2是由

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”吗?

EN

回答 2

Stack Overflow用户

发布于 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 )。

  1. 删除网络中具有ip的接口ip 192.168.1.0/24
  2. ip addr删除(ip_of_interface) dev (接口eg-eth0)
  3. ip链接添加mymacvlan1链接(VM接口名,如。- eth0)型macvlan模式桥
  4. ip链路设置mymacvlan1
  5. ip地址添加192.168.1.20/24 dev mymacvlan1
  6. ping您的容器- ping (C1 ip) -I mymacvlan1

请注意,这些更改不是引导持久的。

为了能够从主机上进行ping,您需要确保VM接口在虚拟盒VM网络设置中具有混杂模式。

票数 2
EN

Stack Overflow用户

发布于 2017-08-02 10:18:02

我和你有同样的安排。我指的是运行在Ubuntu之上的一个VBox和两个容器。我不知道你是否有一个特定的目的或只是测试对接网络。如果是后者,那为什么不用桥作为司机呢?下面的命令为我创建了一个网络:

代码语言:javascript
复制
docker network create -d bridge -o parent=enp0s3 skynet

然后我用它做了两个容器。

代码语言:javascript
复制
~$ docker run -itd --net=skynet --name container2 myimage bash 
~$ docker run -itd --net=skynet --name container1 myimage bash

并检查了两个容器是否可以相互切换,以及本地主机和外部网络(如google.com或yahoo.com)。

让我知道这是否有帮助。

注:对于您的查询,您的设置没有任何问题。如果司机是macvlan,那么你就不能从集装箱里伸出手来。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45451647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档