Ubuntu 22.04构建Docker镜像失败:executor运行报错求助
解决Ubuntu 22.04 Docker构建时apt-get exit code 100(Python3.11-minimal权限问题)
可能的原因
- Docker 23.0.3与Ubuntu 22.04的apt包管理存在兼容性差异,导致python3.11-minimal配置阶段出现权限拒绝
- Docker构建上下文或守护进程的权限配置异常,影响apt包的写入操作
具体修复方案
1. 降级Docker版本至20.10.24(与Mac环境一致)
既然Mac上该版本可正常构建,直接匹配版本规避兼容性问题:
# 卸载当前Docker版本 sudo apt-get purge docker-ce docker-ce-cli containerd.io # 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/docker.gpg # 添加对应版本软件源 echo "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu jammy stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装指定版本 sudo apt-get update sudo apt-get install docker-ce=5:20.10.24~3-0~ubuntu-jammy docker-ce-cli=5:20.10.24~3-0~ubuntu-jammy containerd.io # 锁定版本防止自动升级 sudo apt-mark hold docker-ce docker-ce-cli containerd.io
2. 修改Dockerfile中的apt安装命令
调整命令参数,绕过权限验证或适配环境:
# 替代原有安装命令,添加--allow-unauthenticated参数 RUN apt-get update && apt-get install -y --allow-unauthenticated python3.11-minimal # 或使用非交互式模式安装 RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y python3.11-minimal
3. 检查并修复Docker守护进程权限
# 重启Docker服务 sudo systemctl restart docker # 确认当前用户在docker组内 groups $USER # 若不在则添加并刷新组权限 sudo usermod -aG docker $USER newgrp docker
4. 清理Docker缓存
缓存的损坏包数据可能导致构建失败,清理后重新尝试:
docker system prune -a docker builder prune -a
内容的提问来源于stack exchange,提问作者Adarsh
相关产品推荐
相关产品推荐

