http://www.oschina.net/news/62897/docker-hub-contains-high-risk-vulnerabilities 这里有个统计,docker官方和个人发布的镜像由于版本等各种原因,漏洞较多,那我们如何自己从头开始做个定制的镜像呢?

对,找官方文档 http://docs.docker.com/articles/baseimages/,这里说明的很清楚了

试验如下:在centos7机器上做centos镜像

直接参考这个脚本

https://raw.githubusercontent.com/docker/docker/master/contrib/mkimage-yum.sh

./mkimage-yum.sh -y /etc/yum.conf centos7

执行如上脚本,成功后,就可以看到镜像了【docker images】,概要说明一下,主要是如下几步:

1.tmp目录下建立临时目录和文件系统

2.使用yum安装相关的软件包

3.软件包安装和信息定制

4.tar打包

5.清理

建立目录结构[rootfs]

target=(mktemp−d−−tmpdir(mktemp−d−−tmpdir(basename $0).XXXXXX)

set -x

mkdir -m 755 "$target"/dev

mknod -m 600 "$target"/dev/console c 5 1

mknod -m 600 "$target"/dev/initctl p

mknod -m 666 "$target"/dev/full c 1 7

mknod -m 666 "$target"/dev/null c 1 3

mknod -m 666 "$target"/dev/ptmx c 5 2

mknod -m 666 "$target"/dev/random c 1 8

mknod -m 666 "$target"/dev/tty c 5 0

mknod -m 666 "$target"/dev/tty0 c 4 0

mknod -m 666 "$target"/dev/urandom c 1 9

mknod -m 666 "$target"/dev/zero c 1 5

# amazon linux yum will fail without vars set

if [ -d /etc/yum/vars ]; then

mkdir -p -m 755 "$target"/etc/yum

cp -a /etc/yum/vars "$target"/etc/yum/

fi

软件包安装和信息定制

yum -c "yumconfig"−−installroot="yumconfig"−−installroot="target" --releasever=/ --setopt=tsflags=nodocs \

--setopt=group_package_types=mandatory -y groupinstall Core

yum -c "yumconfig"−−installroot="yumconfig"−−installroot="target" -y clean all

...

打包

tar --numeric-owner -c -C "target".|dockerimport−target".|dockerimport−name:$version

docker run -i -t name:name:version echo success

清理

rm -rf "$target"

如果我们需要自己的安全增强软件等定制,只需要在第2步将我们的内容合并进去即可

生成的镜像可以作为我们工作的基础,当然你也可以push到开源社区

Docker 从零开始制作基础镜像[centos]相关推荐

  1. 制作 docker 精简 jre8 基础镜像

    1.下载jdk和jre jdk8u321官方下载地址 jre8u321官方下载地址 2.解压jdk和 jre 包,删除根目录下文本文件和其他非必要文件 # 解压 tar -zxvf jre-8u321 ...

  2. 利用Html与css从零开始制作基础静态网页(web课设)

    首先打好单个网页的基础结构 本次我们制作网页主要使用的是外部样式表 本次静态网页的主题是合金装备(由个人喜好而定,你可以根据其自己修改) 先定义外部样式表 <link rel="sty ...

  3. Docker Review - dockerfile 实战_给基础镜像增加功能

    文章目录 文件格式 实操Docker file 给基础镜像centos 增加功能 dockerfile镜像制作 docker build 通过dockerfile构建镜像 启动新镜像,验证 docke ...

  4. alpine(Go环境)Docker基础镜像制作

    安装glibc :https://github.com/sgerrand/alpine-pkg-glibc/ 设置时区 RUN echo -e "https://mirror.tuna.ts ...

  5. docker命令介绍,镜像制作,容器启动,进入容器操作等

    1:在linux安装docker环境一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 2:查看 Docker 是否安装成功: docker v ...

  6. 实战 | ​Docker ubuntu:18.04 镜像制作

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 ...

  7. Docker : Dockerfile 定制镜像

    使用 Dockerfile 定制镜像 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程.   镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们 ...

  8. python 各版本镜像_Python 基础镜像构建

    Python 基础镜像构建 如何制作一个定制的 Python 基础 Docker 镜像 目标:准备一个定制的 Python 基础镜像. 基础镜像,通常为含最小功能的系统镜像,之后的应用镜像都以此为基础 ...

  9. Docker基础(centos安装、阿里云镜像加速器配置、常用命令、数据卷、DockerFile、镜像推送阿里云等)

    Centos 8.1安装Docker 下载docker-ce.repo curl https://download.docker.com/linux/centos/docker-ce.repo -o ...

  10. Docker制作Python运行环境基础镜像

    一.准备工作 1.1 Python安装包的下载 (说明:python版本可根据自己需求更换) 官网下载:https://www.python.org/downloads/source/ 百度网盘: – ...

最新文章

  1. mac自带php7降级,MAC更新自带php版本到7.0
  2. 如何在OSCOMMERCE中安装中文语言包
  3. vi常用命令以及 冒号输入
  4. 万字长文揭穿你,根本就不懂云原生!
  5. 时钟极性和时钟相位概念
  6. 【译】How I hacked Google’s bug tracking system itself for $15,600 in bounties
  7. haproxy配置参数详解
  8. easymodbus_easymodbus4j基于netty的modbus协议快速开发工具
  9. crash recovery mysql_MySQL · 源码分析 · binlog crash recovery
  10. 详解:Hive中的NULL的处理、优点、使用情况(注意)
  11. “上传漏洞”安全检测网站详解
  12. 掌握C语言判断素数(质数)相关内容
  13. 请以平常心看这篇帖子
  14. 我也来开发2048之确定思路
  15. 简单3小步,轻松搞定PS证件照换底色(有手就行)
  16. 企业电子邮箱怎么申请免费注册账号?
  17. WinSAT 系统评估工具使用
  18. 微软新Logo四色代表什么?Win8/Office/Xbox等
  19. 基于SYN7318 语音识别的智能家居嵌入式控制系统设计与开发
  20. 如何在Windows DOS环境下格式化硬盘

热门文章

  1. 技术改变世界以及减速慢行
  2. (随机|批量)梯度下降法、(拟)牛顿法、共轭梯度法、启发式算法
  3. pytorch 方法笔记
  4. tf-openpose人体姿态估计标签生成--heatmap--vectormap
  5. 目前为止微型计算机,2017年计算机一级考试题库及答案
  6. mybatis执行opensession时空指针异常_关于 Mybatis 缓存的那点事儿,你知道吗?
  7. python的scrapy爬虫模块间进行传参_Python爬虫Scrapy框架之请求传参合日志等级
  8. 前端使用 geetest 行为验证 web-部署教程
  9. Flutter原理 flutter架构、flutter UI系统、BuildContext、Widget与Element、命中测试hitTest、flutter显示流程分析
  10. 7-8 猜数字 (20 分)