如何移除docker ps输出会话中IPv6端口绑定的相关显示内容?
移除docker ps输出中IPv6端口绑定内容的方法
方法1:全局禁用Docker IPv6(永久生效)
你之前修改daemon.json的命令无误,未生效是因为没有重启Docker服务加载配置,完整操作步骤如下:
- 执行配置修改命令:
jq '.ipv6 |= false' ~/.docker/daemon.json | sponge ~/.docker/daemon.json - 重启Docker服务加载配置:
- Linux环境执行:
systemctl restart docker - Mac/Windows环境直接重启Docker Desktop应用
- Linux环境执行:
- 验证配置生效:执行
docker info | grep IPv6,输出为IPv6: false即配置生效,后续新启动的容器不会再绑定IPv6端口,存量容器需重建后生效。
方法2:临时过滤docker ps输出(无需修改全局配置)
如果不想全局禁用IPv6,只需过滤掉输出中的IPv6端口条目,可直接使用awk处理输出内容:
- 单次执行命令:
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}" | awk '{gsub(/(:::[0-9]+(-[0-9]+)?->[0-9]+\/(tcp|udp),?|:::[0-9]+\/(tcp|udp),?)/,"",$0); print}' - 配置别名永久使用:将以下内容添加到shell配置文件(/.bashrc//.zshrc等),后续执行
dockerps即可得到过滤后的结果:alias dockerps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Command}}\t{{.CreatedAt}}\t{{.Status}}\t{{.Ports}}\t{{.Names}}" | awk '\''{gsub(/(:::[0-9]+(-[0-9]+)?->[0-9]+\/(tcp|udp),?|:::[0-9]+\/(tcp|udp),?)/,"",$0); print}'\'''
内容的提问来源于stack exchange,提问作者Bruno Wego
相关产品推荐
相关产品推荐

