在Ubuntu 22.04+Docker 17.03.0-ce运行Minikube遇SSH认证错误求助
解决Minikube在Ubuntu上结合Docker运行时的SSH认证错误
问题1:minikube start --driver=docker 报错(unknown shorthand flag: 'a' in -a)
该错误源于Minikube使用的docker cp命令参数与本地Docker版本不兼容——旧版Docker的docker cp不支持-a(归档模式)参数,但Minikube默认会调用这个参数。
解决步骤:
- 彻底清理现有Minikube环境:
minikube delete --all --purge - 更新Docker至最新稳定版:
- 卸载旧版本Docker组件:
sudo apt-get remove docker docker-engine docker.io containerd runc - 配置Docker官方仓库并安装最新版:
sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 卸载旧版本Docker组件:
- 重新启动Minikube:
minikube start --driver=docker
若不想升级Docker,可临时禁用Minikube的文件复制归档模式:
minikube start --driver=docker --no-copy-files
问题2:minikube start --vm 报错(SSH认证失败)
此问题是VM驱动模式下,Minikube无法通过SSH密钥完成虚拟机认证,多因密钥缓存、权限配置异常导致。
解决步骤:
- 清理Minikube数据及相关SSH密钥缓存:
minikube delete --all --purge rm -rf ~/.minikube ~/.ssh/minikube* - 确保当前用户拥有Docker和libvirt(KVM驱动依赖)的操作权限:
sudo usermod -aG docker $USER sudo usermod -aG libvirt $USER newgrp docker newgrp libvirt - 安装KVM驱动(若未安装)并重新启动Minikube:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils minikube start --driver=kvm2
额外检查本地SSH密钥权限(权限过宽会导致认证失败):
chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
内容的提问来源于stack exchange,提问作者Rafael Souza
相关产品推荐
相关产品推荐

