zoukankan      html  css  js  c++  java
  • Docker 从零开始制作基础镜像[centos]

    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=(mktempdtmpdir(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".|dockerimporttarget".|dockerimport−name:$version

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

    清理

    rm -rf "$target"

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

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

  • 相关阅读:
    自定义ckeditor5
    ckEditor5 图片上传到七牛云
    Vue2.0原理-指令
    小程序体积优化(1)--优化大文本
    win10系统安装docker注意事项
    Vue2.0原理-模板解析
    使用nginx部署静态网站
    react-native初体验(2) — 认识路由
    react-native初体验(1) — hello world
    领骑衫总结
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/5333782.html
Copyright © 2011-2022 走看看