闲话就不说了,直接上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命令尽量通过&&写到一行,可以有效减少生成镜像的层数,从而控制镜像的大小。这里,我已经帮各位顺便验证了。

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

  1. 阿里云Centos8.2执行 yum install -y yum-utils 报错问题解决

    目录 问题描述: 阿里云部署docker 执行yum install -y yum-utils报错 1,进入配置文件目录 2,删除所有的.repo源文件 3,下载可用的.repo文件 4,运行 yum ...

  2. yum install pcre pcre-devel 报错

    http://mirrors.aliyun.com/centos/7/os/Packages/pcre-devel-8.32-17.el7.x86_64.rpm: [Errno 14] HTTP Er ...

  3. .Net Core通过NPOI在CentOS 7(Docker)环境中导出Excel报错The type initializer for ‘Gdip‘ 的问题

    一.前言 今天在AspNetCore5.0环境中做了一个导出Excel的功能,在开发机器上(windows10)调试正常,但是部署到centos7容器(容器基础环境mcr.microsoft.com/ ...

  4. Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法

    Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法 1).容器中登录my ...

  5. python无法安装第三方库read time out_解决pip install的时候报错timed out的问题

    安装包的时候报错,执行:pip install pyinstaller 问题: File "c:\python\python35\lib\site-packages\pip\_vendor\ ...

  6. Android P使用pm install安装apk报错

    Android P使用pm install安装apk报错 avc: denied { read } for scontext=u:r:system_server:s0 tcontext=u:objec ...

  7. Docker Jenkins测试邮箱通知报错:553 Mail from must equal authorized user

    Docker Jenkins测试邮箱通知报错:553 Mail from must equal authorized user Failed to send out e-mailcom.sun.mai ...

  8. Linux服务器docker环境下Jasper Report报错

    Linux服务器docker环境下Jasper Report报错 Jasperreports模板制作方法在网上都有很多教程,可以自行探索一下 我用的模板参考:https://blog.csdn.net ...

  9. pipenv install 包名 报错问题解决

    pipenv install 包名 报错问题 == 使用pipenv install requests --dev报异常,特记录解决办法== 1.报错截图 下面 报错代码. Installing re ...

最新文章

  1. mq系列传感器的程序_消息中间件(一)MQ详解及四大MQ比较
  2. NLP技术在海外金融机构的应用
  3. 第十三周项目二-动物这样叫(3)
  4. 分享成功 用心经营就会结出果实(转)
  5. 排序算法之——选择排序
  6. 脸部细微表情识别_您可以仅使用面部表情来控制字体吗?
  7. pcap文件提取后的dataframe,切分前向流与后向流
  8. 【Calcite】SQL 形式化语言——关系代数
  9. 300页!2020年全网最新Java面试题(附答案)开放下载!超全!!
  10. 智能手表开发API接口
  11. unity头顶状态制作_Unity中结合IK实现Lookat
  12. [?]Solaris下两个Oracle同时启动时遇到的问题
  13. X波段雷达对海探测试验与数据获取
  14. UCOS操作系统——任务的挂起与恢复(四)
  15. 微信小程序 选项卡设置
  16. 【终结扩散模型】Consistency Models.OpenAI开源新模型代码,一步成图,1秒18张
  17. 看看小编都用啥!实用Win7小软件大推荐
  18. 时空复杂度之珠心算测验
  19. kickstart自动化系统安装_利用Kickstart自动化安装CentOS的教程
  20. 蓝桥杯单片机备考必看内容,学习一周,保底省三!

热门文章

  1. “整理电脑文件轻松有序:按大小归类保存,重新定义文件管理体验!“
  2. DOS/批处理获取桌面路径的方法
  3. 重磅实锤!360变卖360企业安全,周鸿祎、齐向东正式分家成竞争对手
  4. python IDLE常用命令
  5. nodeName 与 tagName 的区别
  6. xbook2操作系统内核,一个新英雄的崛起!
  7. Mac上超级好用的Mysql工具
  8. 火爆的超级人工智能ChatGPT,唯独鄙视中国人
  9. 生物计算机要学什么,化学常识:生物计算机及其主要种类
  10. CoinCola研究院 | 平台币暴涨,背后推手IEO是何方神圣?