docker网络iptables被清理导致容器无法访问外网

安装了Docker的机器,暴力执行iptables -F,会导致docker的规则全清,无法访问pod服务,暴力方法是重启docker, 或者重新添加一下docker的规则即可.

iptables -A FORWARD -j DOCKER-ISOLATION
iptables -A FORWARD -o docker0 -j DOCKER
# iptables -A DOCKER-ISOLATION -j RETURN
iptables -A FORWARD -o docker0 -j DOCKER
iptables -A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i docker0 ! -o docker0 -j ACCEPT
iptables -A FORWARD -i docker0 -o docker0 -j ACCEPT

059f3ae2-b91d-4bc7-b2ef-2081b188abe5

清理未使用的Docker镜像

#!/bin/bash

# 获取所有正在运行的容器 ID
containers=$(docker ps -q)

# 获取所有镜像 ID
images=$(docker images -q)

# 查找未被任何容器使用的镜像
for image in $images
do
  # 检查镜像是否被任何容器使用
  used=$(docker ps --filter "ancestor=$image" -q)
  if [ -z "$used" ]; then
    # 如果镜像未被使用,则删除它
    # docker rmi $image
    echo "已删除未使用的镜像 $image"
  fi
done
posted @ 2021-09-10 10:03  Mr黄瑞  阅读(1054)  评论(0编辑  收藏  举报