Podman 教程

Podman 删除网络

在 Podman 中,使用 podman network rm 命令删除网络。

基本语法

podman network rm 命令格式如下:

podman network rm [OPTIONS] NETWORK_NAME|NETWORK_ID [...]

或使用全称:

podman network remove [OPTIONS] NETWORK_NAME|NETWORK_ID [...]

常用选项:

  • -f, --force    强制删除网络,即使该网络当前仍有容器在使用。使用此选项时,Podman 会首先尝试停止使用该网络的容器,然后删除网络。这避免了因网络被占用而导致的删除失败。

  • -t, --time int    设置等待容器停止的超时时间(单位:秒)。当使用 --force 选项时,Podman 会先向容器发送停止信号,等待指定的时间。如果容器在超时前仍未停止,则会强制终止(kill)容器,然后再删除网络。默认值:10 秒。

点击查看 podman network rm 命令手册

常用示例

(1)完整删除网络的流程,如下:

# 1. 查看所有网络
C:\Users\Administrator> podman network ls
NETWORK ID    NAME                 DRIVER
8dabbce451d3  my-network           bridge
2f259bab93aa  podman               bridge
0fde7b9feb9d  prod_network         bridge
3c7202f56853  springcloud-network  bridge

# 2. 检查目标网络的关联容器
# 根据数据可以看到有 my-redis 和 my-nginx 容器使用了 my-network 网络
C:\Users\Administrator> podman network inspect -f '{{.Containers}}' my-network
'map[4593cea5afe3573ca810264b7c3ce526f2d6ac9f7377d3649a8b527e2df2aa11:{my-redis map[eth0:{[{{{10.89.1.3 ffffff00}} 10.89.1.1}] [22 96 5 253 169 119]}]} f0da597805fbc242b2394d048a34c88a0e97cb13eddee6ed6f2db5bdc87de7f6:{my-nginx map[eth0:{[{{{10.89.1.2 ffffff00}} 10.89.1.1}] [74 71 206 28 221 187]}]}]'

# 3. 如果有关联容器,先断开连接或删除容器
podman network disconnect my-network my-redis
podman network disconnect my-network my-nginx
# 或强制删除容器
podman rm -f my-nginx my-redis

C:\Users\Administrator> podman network disconnect my-network my-redis

C:\Users\Administrator> podman network disconnect my-network my-nginx

# 4. 删除网络
podman network rm my-network

C:\Users\Administrator> podman network rm my-network
my-network

# 5. 验证删除结果
podman network ls

C:\Users\Administrator> podman network ls
NETWORK ID    NAME                 DRIVER
2f259bab93aa  podman               bridge
0fde7b9feb9d  prod_network         bridge
3c7202f56853  springcloud-network  bridge

(2)Podman 的默认网络(podman、host、none)无法被删除:

C:\Users\Administrator> podman network rm podman
Error: unmarshalling into &[]*types.NetworkRmReport{(*types.NetworkRmReport)(0xc0003f22c0)}, data "[{\"Name\":\"podman\",\"Err\":\"default network podman cannot be removed\"}]\n": json: cannot unmarshal string into Go struct field NetworkRmReport.Err of type error

更多信息请参考官方文档。

  

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号