Skip to main content

minikube内置docker配置信息设置

根据你提供的 Docker 配置和报错情况,以下是详细分析和解决方案:

错误分析(配置问题)

{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {"max-size": "100m"},
  "storage-driver": "overlay2",
  "registry-mirrors": ["https://swr.cn-east-3.myhuaweicloud.com"]
}

常见报错原因:

  1. cgroupdriver 冲突(与 Kubernetes 不兼容)
  2. 华为云镜像证书问题
  3. storage-driver 不兼容
  4. JSON 格式错误

解决方案

1. 修复 cgroupdriver 冲突(关键步骤)

minikube ssh
sudo tee /etc/docker/daemon.json <<EOF
{
  "log-driver": "json-file",
  "log-opts": {"max-size": "100m"},
  "storage-driver": "overlay2",
  "registry-mirrors": ["https://swr.cn-east-3.myhuaweicloud.com"]
}
EOF

▶️ 移除 exec-opts(Minikube 默认使用 cgroupfs,强制改为 systemd 会导致冲突)

2. 验证华为云镜像证书

minikube ssh "curl -vk https://swr.cn-east-3.myhuaweicloud.com"

如果证书错误,临时关闭验证:

{
  "insecure-registries": ["swr.cn-east-3.myhuaweicloud.com"]
}

3. 彻底重建 Minikube

minikube delete
minikube start --driver=docker \
  --image-mirror-country=cn \
  --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

4. 查看完整错误日志

minikube logs | grep -i "error\|fail"
journalctl -u docker -n 50 --no-pager

完整正确配置示例

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  },
  "storage-driver": "overlay2",
  "registry-mirrors": [
    "https://swr.cn-east-3.myhuaweicloud.com",
    "https://registry.cn-hangzhou.aliyuncs.com"
  ],
  "insecure-registries": []
}

关键注意事项

  1. 不要混合使用 cgroupdriver
    Minikube 的 kubelet 默认用 cgroupfs,Docker 用 systemd 会导致冲突

  2. 华为云镜像需要登录

    minikube ssh "docker login swr.cn-east-3.myhuaweicloud.com"
    
  3. 存储驱动检查

    minikube ssh "lsmod | grep overlay"
    

如果仍有问题,请提供:

  1. minikube version
  2. docker info(宿主机)
  3. 完整的错误日志(红色报错部分)