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.confcentos7 执行如上脚本,成功后,就可以看到镜像了【dockerimages】,概要说明一下,主要是如下几步: 1.tmp目录下建立临时目录和文件系统 2.使用yum安装相关的软件包 3.软件包安装和信息定制 4.tar打包 5.清理 建立目录结构[rootfs] target=$(mktemp-d--tmpdir$(basename$0).XXXXXX) set-x mkdir-m755"$target"/dev mknod-m600"$target"/dev/consolec51 mknod-m600"$target"/dev/initctlp mknod-m666"$target"/dev/fullc17 mknod-m666"$target"/dev/nullc13 mknod-m666"$target"/dev/ptmxc52 mknod-m666"$target"/dev/randomc18 mknod-m666"$target"/dev/ttyc50 mknod-m666"$target"/dev/tty0c40 mknod-m666"$target"/dev/urandomc19 mknod-m666"$target"/dev/zeroc15 #amazonlinuxyumwillfailwithoutvarsset if[-d/etc/yum/vars];then mkdir-p-m755"$target"/etc/yum cp-a/etc/yum/vars"$target"/etc/yum/ fi 软件包安装和信息定制 yum-c"$yum_config"--installroot="$target"--releasever=/--setopt=tsflags=nodocs\ --setopt=group_package_types=mandatory-ygroupinstallCore yum-c"$yum_config"--installroot="$target"-ycleanall ... 打包 tar--numeric-owner-c-C"$target".|dockerimport-$name:$version dockerrun-i-t$name:$versionechosuccess 清理 rm-rf"$target" 如果我们需要自己的安全增强软件等定制,只需要在第2步将我们的内容合并进去即可 生成的镜像可以作为我们工作的基础,当然你也可以push到开源社区