今天在使用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”。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐