首页 > 系统相关 >Docker yum install的时候报错:Rpmdb checksum is invalid: dCDPT(pkg checksums): ...(dockerfile制作centos带vim)

Docker yum install的时候报错:Rpmdb checksum is invalid: dCDPT(pkg checksums): ...(dockerfile制作centos带vim)

时间:2023-04-05 19:32:51浏览次数:37  
标签:... && centos 报错 install 镜像 yum dockerfile


闲话就不说了,直接上Dockerfile:

FROM hub.c.163.com/library/centos:7.2.1511
MAINTAINER by zsk_john
RUN yum -y install vim net-tools && yum clean all
EXPOSE 22
CMD    ["/bin/bash", "-D"]

注意一点,如果拆开写RUN,也就是yum install vim -y &&yum install net-tools -y && yum clean all  ,那么会有极大的可能报错Rpmdb checksum is invalid: dCDPT(pkg checksums): ...  。

此报错估计是docker的一个bug,我的docker是19.3ce版本,报错没什么好分析的,就是字面意思,yum的元仓库数据混乱了,因此,在第二个yum install前增加一个 rpm --rebuilddb 即可,也就是这个dockerfile可以写成以下这样就不会报错:

FROM hub.c.163.com/library/centos:7.2.1511
MAINTAINER by zsk_john
RUN yum -y install vim
RUN rpm --rebuilddb && yum install net-tools -y && yum clean all
EXPOSE 22
CMD    ["/bin/bash", "-D"]

也就是有时候在使用dockerfile  build的时候,如果有多条 “RUN yum install -y …” 指令,需要在每条之前都加上 “rpm –rebuilddb”。

注解:此dockerfile 拉取网易蜂巢的centos7.2.1511版本镜像作为基础镜像,安装vim和net工具netstat,清除安装缓存,以减小build的镜像大小。

如果使用第一个dockerfile的话,镜像大小应该为270M左右,如果使用第二个dockerfile的话,镜像大小会达到385M左右,这提示我们,docker  build镜像的时候,run命令尽量通过&&写到一行,可以有效减少生成镜像的层数,从而控制镜像的大小。这里,我已经帮各位顺便验证了。

标签:...,&&,centos,报错,install,镜像,yum,dockerfile
From: https://blog.51cto.com/u_15966109/6171428

相关文章

  • Linux运维实战:Centos7.6部署wingftpserver
    一、WingFTPServer介绍WingFTPServer是一款优秀且高速的跨平台FTP服务器软件,对比Windows中自带的FTP服务器,它支持可伸缩的处理器架构并采用异步IO,在速度和效率方面遥遥领先于其他同类产品,稳定可靠,高负载的同时也能持续地正常运行,在网络运维中它契合企业和学校的文件传输,除......
  • CentOS更换YUM源
    前言查看当前YUM(YellowdogUpdater,Modified)配置,如果像下图一样使用国外地址,由于网络限制下载会比较慢,更换国内yum源来解决。cat/etc/yum.repos.d/CentOS-Base.repo更换为阿里云YUM源echo"备份原来的源">/dev/nullmv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.rep......
  • git bash报错fatal: detected dubious ownership in repository at的解决方法
    情况在gitbash中输入"gitadd."命令时报错"fatal:detecteddubiousownershipinrepositoryat" 原因文件夹的所有者和现在的用户不一致例如:文件夹的所有者是Administrator,而当前用户是myAccount 方法1右键文件夹->属性->所有者->更改->勾选应用到所有子目......
  • python 报错AssertionError: process has already started
    python报错AssertionError:processhasalreadystarted现象  原因在Python中设置守护进程daemon,一定要放在start方法上面才会有效解决方法 ......
  • VMware安装CentOS7并用FinalShell连接
    时间:2023/4/5作者:Nhenk目录1.下载2.安装3.安装虚拟机3.1CentOS7.6下载3.2CentOS7.6安装3.3CentOS7.6的安装配置3.4CentOS7.6的网络配置3.4.1自动获取IP3.5FinalShell连接CentOS7.61.下载VMware2.安装因为我之前安装了docker而开启了Hyper-V,所......
  • Python爬虫 execjs执行js报错json.decoder.JSONDecodeError: Expecting value: line 1
    fun=re.search(r'(__=\([\S\s]*?;)<',r_text).group(1)fun=fun+'functionget(){returnJSON.stringify(__.data)}'ctx=execjs.compile(fun)rdata=(ctx.eval('get()'))报错json.decoder.JSONDecodeError:Expectingvalue:line1col......
  • 续:python 新环境的创建并在 spyder 中转换 - 如何解决转换环境时报错:invalid file pat
    原文地址blog.csdn.net目录重点问题描述解决方法各种尝试最终灵感重点不想看全文的直接看这里,不要安装一个和已有python环境一样版本的python(这里的一样指的是完全一样,比如都是python2.7.15),如果已有python2.7.15,可以创建python2.7.18的环境并在spyder中转换。如......
  • npm install 报错 - code EINTEGRITY sha1
    npmERR!codeEINTEGRITYnpmERR!sha1-F8b22R2owVwncEo+OIM9Z1kqOVk=integritychecksumfailedwhenusingsha1:wantedsha1-F8b22R2owVwncEo+OIM9Z1kqOVk=butgotsha1-65zsXJnJjAVIDtOI25R7Koa2940=.(5924859bytes)从gitlab克隆项目下来,执行npminstall报错,目前知道的......
  • centos快速的安装和卸载docker
    在centos系统上快速安装docker-ce,废话不多说,直接上shell代码,适配与所有centos和ali-cloud系统: #安装依赖包yuminstall-yyum-utilsdevice-mapper-persistent-datalvm2 #添加Docker软件包源,我们这里配置了阿里云的镜像源yum-config-manager......
  • 最新centos7 部署 k8s v1.26,简单易懂,跟着命令敲就完事
    其实没什么好说的,搭环境搞了一整天,人已经麻了,踩了很多坑,网上教程的版本大都比较旧,总是和最新版本各种地方不兼容,把坑踩完了,k8s目前最新的版本是v1.26,跟着命令敲就行了,我已经重复部署了很多次了,坑已经排完了....我试验的是1主2从结构,centos2c2g就足够。centos7部署k8s1m2n......