收起左侧

创建具有与宿主机同一网段ip地址且能与宿主机通信的容器

1
回复
34
查看
[ 复制链接 ]

1

主题

7

回帖

0

牛值

江湖小虾

使用systemd事件监控指定容器的启动命令,一旦启动就使用ovs-docker命令给他桥接到ovs并分配指定的ip和mac地址。ovs-docker就是飞牛系统自带的OVS软件的一部分。前面分享的[让容器获取独立物理ip地址 - 攻略分享 飞牛私有云论坛 fnOS]不能与宿主机通信。ovs-docker的命令都是即时的,也就是容器重启之后桥接就失效了,所以才使用systemd实时创建桥接。

  1. 首先在飞牛的 系统设置---> 网络设置---->网卡接口上启用ovs。
    启用ovs.png
  2. 在ssh端执行命令:sudo nano /etc/systemd/system/container-bridge-ovs.service。并输入下面的内容:

[Unit] Description=监听指定容器启动事件并配置 OVS 网络 After=docker.service openvswitch-switch.service

[Service] Environment="CONTAINER_NAME=NETTEST" Environment="OVS_BRIDGE=enp1s0-ovs" Environment="IP_ADDR=192.168.10.161/24" Environment="GATEWAY=192.168.10.1" Environment="MAC_ADDR=C6:08:39:C2:AC:D9"

Type=simple ExecStart=/bin/bash -c 'docker events --filter "event=start" --filter "container=${CONTAINER_NAME}" | while read -r event; do echo "检测到容器 ${CONTAINER_NAME} 启动,重新配置 OVS 网络..."; ovs-docker del-port

[Install] WantedBy=multi-user.target

code

code

code

code

code

code

code

code

code

code

code

code

code

code

code

code

code

code

code

code

container-bridge-ovs.service内容如下图:论坛帖子编辑器太难使了,只能贴图了,打着打着断码,还少字符,就是连接符”\“少了。
server.png

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

7

回帖

0

牛值

江湖小虾

昨天 21:25 楼主 显示全部楼层
发了几次都是乱码我服气了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则