Docker常见错误

1.Docker中YUM安装RPM包报错 Rpmdb checksum is invalid: dCDPT(pkg checksums): ...

在使用Dockerfile制作Docker镜像的时候,突然发现以前可以运行的 “RUN yum install -y sudo” 突然运行报错了,错误如下:

Rpmdb checksum is invalid: dCDPT(pkg checksums): sudo.x86_64 0:1.8.6p3-29.el6_9 - u The command '/bin/sh -c yum install -y sudo' returned a non-zero code: 1

在我的Dockerfile中使用的基础镜像是 “gpmidi/centos-6.5”。调研了一圈发现有人说是rpm数据库损坏需要重建。因此需要在 “yum install …” 前使用 “rpm –rebuilddb” 重建数据库。比如:

RUN rpm --rebuilddb && yum install -y sudo ...

在我的环境中发现有时候如果有多条 “RUN yum install -y …” 指令,需要在每条之前都加上 “rpm –rebuilddb”。

 

2.docker服务无法启动:

Error starting daemon: SELinux is not supported with the overlay2 graph driver on this kernel. Either boot into a newer kernel or disable selinux in docker...-enabled=false

解决方案:

意思是说:此linux的内核中的SELinux不支持 overlay2 graph driver ,解决方法有两个,要么启动一个新内核,要么就在docker里禁用selinux,--selinux-enabled=false

重新编辑docker配置文件:

vi /etc/sysconfig/docker

改为:

 

然后systemctl start docker 就好啦

 

3.容器无法启动:

解决方案:

 overlay,overlay2都为文件系统存储驱动,自从Docker1.12起,Docker也支持overlay2存储驱动,相比于overlay来说,overlay2在inode优化上更加高效。但overlay2驱动只兼容Linux kernel4.0以上的版本。

报错:

error creating overlay mount to /var/lib/docker/overlay2

vi /etc/sysconfig/ddocker-storage,添加

DOCKER_STORAGE_OPTIONS="--storage-driver overlay"

 

 

 

 

 

### Ubuntu 上安装 Docker常见错误及解决方案 #### 1. 更新源失败 当尝试更新软件包列表时,如果网络连接不稳定或配置不正确可能会导致无法获取某些索引文件。这会影响后续 Docker 的正常安装。 对于此类问题,可以先确认 `/etc/apt/sources.list` 和 `/etc/apt/sources.list.d/` 下的源地址是否可用并适合当前地区访问[^1]。另外,也可以通过更换为国内镜像源来提高下载速度和成功率: ```bash sudo sed -i 's@archive.ubuntu.com@mirrors.aliyun.com@g' /etc/apt/sources.list sudo apt-get update ``` #### 2. 安装依赖冲突 有时系统中已存在旧版本或其他关联紧密的应用程序,在新装 Docker 过程里会产生依赖关系上的矛盾。为了防止这种情况发生,建议提前清理掉可能引起干扰的老版容器引擎组件[^2]: ```bash sudo apt-get remove docker docker-engine docker.io containerd runc ``` #### 3. GPG密钥验证未通过 在添加官方仓库之前需要导入GPG公钥用于签名校验,若该操作执行不当则会报错提示找不到有效的公共密钥。此时应该重新按照官方文档指引完成正确的密钥添加过程[^3]: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` #### 4. 启动服务异常 即使成功完成了上述步骤之后仍然有可能因为权限不足等原因造成 `docker.service` 失效而无法正常使用命令行工具与之交互。针对这个问题可以通过赋予用户加入特定组的方式加以解决[^4]: ```bash sudo usermod -aG docker $USER newgrp docker ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值