更改现有 podman 网络子网的正确方法

问题描述

我正在使用 podman v3.0.2 并尝试更改现有 podman 网络的子网。 我搜索了podman和CNI文档,但找不到方法。 有没有正确的方法来改变现有的podman网络的网络?

背景

我已经使用 podman 认网络(子网:10.88.0.1/16)创建了一些容器,并希望将其子网用于其他容器。 我觉得最简单的方法就是改变它的子网,想知道。

我尝试的方式

我设法通过以下程序对其进行了更改,但似乎没有正式记录。 另外,我认为操作系统重启是多余的,希望避免它。

  1. 停止连接到网络的所有容器。
  2. 更改 CNI 网络文件中的 @IBAction func Sbutton(_ sender: Any,forEvent event: UIEvent) { playSound(sound: "Ssound",type: "wav") 部分。
  3. 重启操作系统
  4. 启动在程序1中停止的容器。

我使用的这种方式参考了podman文档中更改CNI网络文件中的DNS。 https://podman.io/getting-started/network#using-dns-in-container-networks

解决方法

这个问题有点陈旧,但也许其他人会发现这个答案很有用。引起我注意的是:

  1. 重启操作系统

您不需要重新启动操作系统。

以下程序对我有用:

  1. 关闭网络上的所有容器。
  2. 通过运行 ip link del cni-podman0(或为该网络配置的任何网桥名称)移除网桥设备
  3. 编辑 /etc/cni/net.d 中的 CNI 文件
  4. 启动您在第 1 步中启动的容器。

以上步骤都是按照root进行的。