Docker 从零开始制作基础镜像[centos]
来源:互联网 发布:特效照片制作软件 编辑:程序博客网 时间:2024/05/01 01:29
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=
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 "
--setopt=group_package_types=mandatory -y groupinstall Core
yum -c "
...
打包
tar --numeric-owner -c -C "
docker run -i -t
清理
rm -rf "$target"
如果我们需要自己的安全增强软件等定制,只需要在第2步将我们的内容合并进去即可
生成的镜像可以作为我们工作的基础,当然你也可以push到开源社区
- Docker 从零开始制作基础镜像[centos]
- Docker 从零开始制作基础镜像[centos]
- 用supermin制作centos 7 docker 基础镜像
- docker基础镜像制作
- Centos环境制作Docker Tomcat镜像
- Docker学习系列从零开始之制作SSH镜像【四】
- Docker基础镜像的制作
- 制作docker镜像(1)jdk7+tomcat7基础镜像
- Docker镜像制作
- 制作Docker镜像
- docker制作镜像
- Docker镜像制作
- Docker学习系列从零开始之基于SSH镜像制作mysql的镜像【六】
- 使用supermin制作CentOS的Docker镜像
- Docker学习系列从零开始之制作docker原始镜像【二】
- 从零开始构建一个centos+jdk7+tomcat7的镜像文件 centos7系统下docker运行环境的搭建 准备centos基础镜像 docker pull centos 或者直接下载我准备
- Docker安装初试&&制作centos6.5基础镜像
- 制作CentOS镜像
- MySQL 添加列,修改列,删除列
- JSON使用Error反序列化忽略非法日期
- Dom4j解析XML那些事
- oracle 5个重要后台进程作用
- Charset.encode(buffer)之后,buffer的变化
- Docker 从零开始制作基础镜像[centos]
- tomcat优化(三)web运用动静分类后,解决js跨域问题方案
- mybatis log4j sql日志无法打印问题解析
- [javase学习笔记]-2.7 变量和数据类型(2)
- Markdown用法简记
- 免费安装制作程序 Inno Setup
- 黑马程序员——反射
- iOS开源项目大全(二)(整理自网络)
- 关于集群--摘自群聊