Docker容器学习梳理--手动制作系统镜像

docker官方和个人发布的镜像由于版本等各种原因,漏洞较多,已统计Docker Hub超过30%的官方镜像包含高危漏洞。此外,由于网络等原因也会造成docker pull下载镜像的速度很慢。基于这种情况,我们可以手动定制docker系统镜像。

以下记录了在centos7上做docker镜像的操作记录:

1)镜像制作脚本:mkimage-yum.sh

下载脚本地址:https://pan.baidu.com/s/1geTSQCN
提取密码:qsss

或者直接wget
https://raw.githubusercontent.com/docker/docker/master/contrib/mkimage-yum.sh

2)执行脚本

[[email protected] ~]# chmod 755 mkimage-yum.sh
[[email protected] ~]# ./mkimage-yum.sh -y /etc/yum.conf centos7

3)脚本执行成功后,检查docker本地镜像

[[email protected] ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos7             7.4.1708            dfb0a7b344e8        21 seconds ago      271MB
centos              latest              ff426288ea90        3 weeks ago         207MB

如上已经发现了自己制定的镜像centos7

4)使用制定的镜像启动容器

[[email protected] ~]# docker run -i -t centos7:7.4.1708 /bin/bash 
[[email protected] /]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core)

提醒:制定的镜像和官方的镜像差不多干净。

原文地址:http://blog.51cto.com/dengaosky/2067350

时间: 2024-08-25 17:51:24

Docker容器学习梳理--手动制作系统镜像的相关文章

Docker容器学习梳理-Dockerfile构建镜像

在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让docker读取并分析.执行,那么重复构建.更新将变得很方便,所以Dockerfile就此诞生了.Docker提供了Dockerfile作为构建Docker镜像脚本,避免人们一行一行的输入,真是善莫大焉.Dockerfile脚本可以做到随时维护修改,即可以分享,更有利于在模板化,更不用说传

Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)

自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求.容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信.下面将分别针对这两方面,对容器的通信原理进行简单的分析,帮助大家更好地使用docker.前面已经在Docker容器学习梳理--基础知识(2)这一篇中详细介绍了Docker的网络配置以及pipework工具. docker单主机容器通信 基于对net namespace的控制,docker可以为在容器创建隔离的网络环境,在隔离的

Docker容器学习梳理--容器登陆方法梳理(attach、exec、nsenter)

对于运行在后台的Docker容器,我们运维人员时常是有登陆进去的需求.登陆Docker容器的方式: 1)使用ssh登陆容器.这种方法需要在容器中启动sshd,存在开销和攻击面增大的问题.同时也违反了Docker所倡导的一个容器一个进程的原则. 参考Docker容器学习梳理--SSH方式登陆容器 2)使用自带命令docker attach登陆容器.命令格式:docker attach container_id.不过docker attach存在的问题是:当多个窗口同时attach到同一个容器时,所

Docker容器学习梳理--小知识点补充

之前已经梳理了Docker的相关使用事项,这里再补充一些,以便加深掌握程度.1)docker run指令 [[email protected] ~]# docker run --help : docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container -a, --attach=[] Attach to STDIN, STDOUT or STDERR --add-host=[] Add a custo

Docker容器学习梳理-容器硬盘热扩容

docker容器默认的空间是10G,如果想指定默认容器的大小,可以在docker配置文件里自定义,比如配置成--storage-opt dm.basesize=20G,即容器设置成20G:也可以在启动容器的时候指定:# docker -d --storage-opt dm.basesize=20G 在实际生产环境下,对docker容器进行热扩容(动态扩容)是非常重要的一个需求,但是上面的方法需要修改后需要重启docker,无法做到动态给运行容器指定大小. Docker容器动态扩展的优点: 1)不

Docker容器学习梳理--私有仓库Registry使用

但有时候使用Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似.使用私有仓库有许多优点: 1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可: 2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用. 目前Docker Registry已经升级到了v2,最新版的Docker已不再支持v1.Registry v2使用Go语言编写

Docker容器学习梳理--web管理工具(1)

DockerUI优点:1)支持container批量操作:2)支持image管理(虽然比较薄弱) DockerUI缺点:不支持多主机. 下面记录在DockerUI管理环境的部署过程:1)首先拉去dockerUI镜像如下:[[email protected] ~]# docker pull uifd/ui-for-docker //之前镜像位置为dockerui/dockerui [[email protected] ~]# docker imagesREPOSITORY TAG IMAGE ID

Docker手动制作系统镜像

docker官方和个人发布的镜像由于版本等各种原因,漏洞较多,已统计Docker Hub超过30%的官方镜像包含高危漏洞.此外,由于网络等原因也会造成docker pull下载镜像的速度很慢.基于这种情况,我们可以手动定制docker系统镜像. 以下记录了在centos7上做docker镜像的操作记录: 1)镜像制作脚本:mkimage-yum.sh下载脚本地址:https://pan.baidu.com/s/1geTSQCN提取密码:qsss 或者直接wgethttps://raw.githu

docker容器学习一

Docker 学习一 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低. 适合运维工程师及后端开发人员,通过学习你可以一步一步了解 Docker 的使用. 在阅读前,你需要掌握 Linux 的常用命令.你