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=(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]相关推荐
- 制作 docker 精简 jre8 基础镜像
1.下载jdk和jre jdk8u321官方下载地址 jre8u321官方下载地址 2.解压jdk和 jre 包,删除根目录下文本文件和其他非必要文件 # 解压 tar -zxvf jre-8u321 ...
- 利用Html与css从零开始制作基础静态网页(web课设)
首先打好单个网页的基础结构 本次我们制作网页主要使用的是外部样式表 本次静态网页的主题是合金装备(由个人喜好而定,你可以根据其自己修改) 先定义外部样式表 <link rel="sty ...
- Docker Review - dockerfile 实战_给基础镜像增加功能
文章目录 文件格式 实操Docker file 给基础镜像centos 增加功能 dockerfile镜像制作 docker build 通过dockerfile构建镜像 启动新镜像,验证 docke ...
- alpine(Go环境)Docker基础镜像制作
安装glibc :https://github.com/sgerrand/alpine-pkg-glibc/ 设置时区 RUN echo -e "https://mirror.tuna.ts ...
- docker命令介绍,镜像制作,容器启动,进入容器操作等
1:在linux安装docker环境一键安装命令: curl -sSL https://get.daocloud.io/docker | sh 2:查看 Docker 是否安装成功: docker v ...
- 实战 | Docker ubuntu:18.04 镜像制作
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中 ...
- Docker : Dockerfile 定制镜像
使用 Dockerfile 定制镜像 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们 ...
- python 各版本镜像_Python 基础镜像构建
Python 基础镜像构建 如何制作一个定制的 Python 基础 Docker 镜像 目标:准备一个定制的 Python 基础镜像. 基础镜像,通常为含最小功能的系统镜像,之后的应用镜像都以此为基础 ...
- Docker基础(centos安装、阿里云镜像加速器配置、常用命令、数据卷、DockerFile、镜像推送阿里云等)
Centos 8.1安装Docker 下载docker-ce.repo curl https://download.docker.com/linux/centos/docker-ce.repo -o ...
- Docker制作Python运行环境基础镜像
一.准备工作 1.1 Python安装包的下载 (说明:python版本可根据自己需求更换) 官网下载:https://www.python.org/downloads/source/ 百度网盘: – ...
最新文章
- mac自带php7降级,MAC更新自带php版本到7.0
- 如何在OSCOMMERCE中安装中文语言包
- vi常用命令以及 冒号输入
- 万字长文揭穿你,根本就不懂云原生!
- 时钟极性和时钟相位概念
- 【译】How I hacked Google’s bug tracking system itself for $15,600 in bounties
- haproxy配置参数详解
- easymodbus_easymodbus4j基于netty的modbus协议快速开发工具
- crash recovery mysql_MySQL · 源码分析 · binlog crash recovery
- 详解:Hive中的NULL的处理、优点、使用情况(注意)
- “上传漏洞”安全检测网站详解
- 掌握C语言判断素数(质数)相关内容
- 请以平常心看这篇帖子
- 我也来开发2048之确定思路
- 简单3小步,轻松搞定PS证件照换底色(有手就行)
- 企业电子邮箱怎么申请免费注册账号?
- WinSAT 系统评估工具使用
- 微软新Logo四色代表什么?Win8/Office/Xbox等
- 基于SYN7318 语音识别的智能家居嵌入式控制系统设计与开发
- 如何在Windows DOS环境下格式化硬盘
热门文章
- 技术改变世界以及减速慢行
- (随机|批量)梯度下降法、(拟)牛顿法、共轭梯度法、启发式算法
- pytorch 方法笔记
- tf-openpose人体姿态估计标签生成--heatmap--vectormap
- 目前为止微型计算机,2017年计算机一级考试题库及答案
- mybatis执行opensession时空指针异常_关于 Mybatis 缓存的那点事儿,你知道吗?
- python的scrapy爬虫模块间进行传参_Python爬虫Scrapy框架之请求传参合日志等级
- 前端使用 geetest 行为验证 web-部署教程
- Flutter原理 flutter架构、flutter UI系统、BuildContext、Widget与Element、命中测试hitTest、flutter显示流程分析
- 7-8 猜数字 (20 分)