小编use*_*466的帖子

Docker macvlan网络,无法访问互联网

我有一个具有多个IP地址的专用服务器,一些IP具有关联的mac地址,而其他(在子网中)没有mac地址.我使用以下方法创建了docker macvlan网络:

docker network create -d macvlan -o macvlan_mode=bridge --subnet=188.40.76.0/26 --gateway=188.40.76.1 -o parent=eth0 macvlan_bridge
Run Code Online (Sandbox Code Playgroud)

我有ip:88.99.102.115与mac:00:50:56:00:60:42.使用以下方法创建容器:

docker run --name cont1 --net=macvlan_bridge --ip=88.99.102.115 --mac-address 00:50:56:00:60:42 -itd nginx
Run Code Online (Sandbox Code Playgroud)

这工作,我可以从外面访问托管在该IP地址的nginx.

IP的情况,没有mac地址,网关不在子网中.

子网:88.99.114.16/28,网关:88.99.102.103

无法使用以下方法创建网络:

docker network create -d macvlan -o macvlan_mode=bridge --subnet=88.99.114.16/28 --gateway=88.99.102.103 -o parent=eth0 mynetwork
Run Code Online (Sandbox Code Playgroud)

引发错误:

no matching subnet for gateway 88.99.102.103
Run Code Online (Sandbox Code Playgroud)

尝试增加子网范围以包括网关:

docker network create -d macvlan -o macvlan_mode=bridge --subnet=88.99.0.0/16 --gateway=88.99.102.103 -o parent=eth0 mynetwork
Run Code Online (Sandbox Code Playgroud)

网络已经创建,然后使用'mynetwork'启动nginx容器,而且我没有88.99.114.18的mac地址所以使用了一些随机的mac地址40:1c:0f:bd:a1:d2.

docker run --name cont1 --net=mynetwork --ip=88.99.114.18 --mac-address 40:1c:0f:bd:a1:d2 -itd nginx
Run Code Online (Sandbox Code Playgroud)

无法达到nginx(88.99.102.115).

  1. 如果我的网关不在我的子网中,如何创建macvlan docker网络?
  2. 当我只有IP地址但没有mac地址时,如何使用macvlan网络运行容器?

我对网络知识不多,如果你详细解释,它会非常有用.

我的/ etc/network/interfaces文件:

### …
Run Code Online (Sandbox Code Playgroud)

linux networking containers docker

12
推荐指数
1
解决办法
4733
查看次数

为什么kubernetes源代码比其他容器编排器大一个数量级?

考虑其他编排工具,如dokku,dcos,deis,flynn,docker swarm等.就代码行而言,Kubernetes并不在他们附近,平均而言,这些工具大约有100k-200k代码行.

直观地说,管理容器即检查健康状况,上下扩展容器,杀死它们,重新启动它们等等感觉很奇怪.不必包含2.4M +代码行(这是整个操作系统的规模)代码库),我觉得还有更多的东西.

与其他业务流程解决方案相比,Kubernetes有何不同之处?

我不知道维护超过5-6台服务器.请解释为什么它如此之大,哪些功能在其中发挥重要作用.

containers docker kubernetes docker-swarm flynn

10
推荐指数
2
解决办法
1487
查看次数