有时我们需要为Docker容器单独分配一个IP,让容器成为一个单独的服务器以方便管理,比如分流;或部署某些服务比如部分网站或者博客等。这时就需要使用macvlan网络让容器拥有独立IP。但是使用我使用Portainer管理Docker,不喜欢使用命令行;这里就记录一下如何在Portainer下创建macvlan网络。
首先创建一个网络;名称随意,驱动程序选择macvlan;再选择父网卡,我这里是在OpenWrt系统路由器上做演示,所以选择br-lan,不要填写物理接口,例如eth1、eth2、lan1、lan2等,否则使用该网络无法创建容器。其它系统在SSH下使用ip addr
查看各自接口并尝试设置,这里不再赘述。子网填写你的路由器的网段并加上掩码;网关填写你的路由器的IP。如果想让容器获取到IPV6地址就填写IPV6的相关信息。然后点击创建网络即可。这里只是学习如何创建macvlan网络,IPV6详细设置这里不做深入探讨,需要的上网自行搜索。
创建完网络后会看到创建好名称为br的网络,但是驱动程序并没有显示为macvlan。
然后再次添加网络;名称随意,驱动程序继续选择macvlan,然后在macvlan配置里选择创建
,并选择之前创建的br
网络,最后点击创建网络。
可以看到创建的网络vlan
驱动程序为macvlan。
在创建容器时网络选择名称为vlan
的网络,并为容器设置IP;其它根据实际情况自行添加。