今天在使用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"。
网友评论