今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker镜像制作。

一、Docker镜像制作概述

在之前,我们在配置号Docker的镜像源后,就可以下载(拉取)Docker的镜像了。那么Docker镜像是如何制作的呢?今天,我就介绍一些Docker制作的两种方法:
1、使用Docker commit方式制作镜像。
2、使用Docker build方式制作镜像。

二、使用Docker commit方式制作镜像

使用Docker commit的方式制作镜像,就是我们将一个Docker容器的状态记录下来,然后生成一个Docker镜像。
例如,假如我们要配置一个含有EPEL扩展源的镜像,那么我们可以先打开进入一个镜像,在打开的Docker容器中,安装EPEL的源,如下所示:

接下来,我们退出该容器,然后执行命令:

docker commit 【容器ID】 【新的镜像名】

即可生产一个含有EPEL扩展源的镜像,如下所示:

三、使用Docker build方式制作镜像

除了上述方式外,我们还可以使用Docker build方式制作镜像。这种方式需要我们提前配置好Dockerfile文件,在该文件中记录了该镜像应该以哪个镜像为基础,以及需要进行的操作。
下面我们使用Docker build方式制作一个含有Apache服务的镜像,过程如下:
1、新建一个目录,作为制作Docker镜像的目录,执行命令:

mkdir -p /docker-build

2、接下来,创建Dockerfiel,执行命令:

touch Dockerfile

同时向文件中写入如下内容:

FROM docker.io/centos/systemd
MAINTAINER Pzz
RUN yum install -y httpd
ADD httpd.conf /etc/httpd/conf/httpd.conf
ADD index.html /var/www/html/index.html
RUN httpd
CMD echo "OK"

在上述配置中,FROM指的是从哪个镜像开始进行制作;MAINTAINER指定了Docker镜像的制作者;RUN命令后面跟一个命令,表示要在Docker镜像的制作过程中要执行的命令;ADD命令指定了从该目录中复制到Docker镜像中的文件;最后的CMD命令在一个Dockerfile中只能有一个,表示在镜像制作的最后要执行的命令。
3、最后,我们将Apache服务的配置文件httpd.cong和主页文件index.html复制到本地目录下。
4、最后,我们执行命令,创建Docker镜像
命令格式为:

docker build -t 【父镜像名】:【新镜像tag】 【构建镜像的目录】

我们执行命令如下:

docker build -t docker.io/centos/systemd:apache ./

执行结果如下:


执行完毕后,出现了我们新制作的镜像,如下所示:

我们打开该镜像,发现存在端口映射,如下所示:

我们访问该端口,结果如下:

可以看出,我们的Docker镜像制作成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

Docker详解(八)——Docker镜像制作相关推荐

  1. Docker详解(九)——Docker镜像发布

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker镜像发布. 一.Docker镜像发布简介 在上文Docker详解(八)--Docker镜像制作中,我们介绍了Docker镜像的制作, ...

  2. docker详解(尚硅谷阳哥)

    文章目录 1.docker为什么会出现 2.docker简介 3.传统虚拟机和容器的对比 3.1虚拟机 3.2容器虚拟化技术 3.3两者对比 4.docker的作用 6.docker的应用场景 7.d ...

  3. 微服务--Docker详解

    Docker详解 零.文章目录 一.Docker基础 1.容器发展 物理机 软件开发最大的麻烦事之一,就是环境配置.用户必须保证两件事:操作系统的设置,各种库和组件的安装.只有它们都正确,软件才能运行 ...

  4. Docker常用命令使用详解(docker help、version、info、images)(一)

    Docker常用命令 命令 描述 docker .docker help.docker --help 列出可用命令 docker version 显示Docker版本信息 docker info 显示 ...

  5. docker中使用golang:alpine镜像制作开启goweb的dockerfile

    docker中使用golang:alpine镜像制作开启goweb的dockerfile go的web代码 package mainimport("net/http""f ...

  6. win10分辨率不能调整_大师为你详解 win10系统photoshop制作金属字的方法介绍 -win10使用教程...

    电脑作为一款日常使用工具,用的时间长了,就会遇到各种事情,譬如win10系统photoshop制作金属字的状况,谁也不想在使用电脑的时候遇到win10系统photoshop制作金属字这样的问题,到底要 ...

  7. html右侧浮动菜单,HTML+CSS:css元素浮动详解,使用浮动制作导航栏菜单

    原标题:HTML+CSS:css元素浮动详解,使用浮动制作导航栏菜单 今天这篇文章我们来说一下css的浮动属性(float),给块状元素添加float属性可以使其转变为行内元素,也就是我们所说标签对象 ...

  8. 二十八、docker详解

    一.docker简介 1. 为什么会有docker出现 假定您在开发一个微服务项目,您使用的是一台笔记本电脑而且您的开发环境具有特定的配置.其他开发人员身处的环境配置也各有不同.您正在开发的应用依赖于 ...

  9. docker镜像的构建及Dockerfile的详解应用,镜像加速器,镜像优化

    docker镜像的构建及dockerfile的祥解应用 1.镜像的构建 1.1创建一个Dockerfile 1.2构建镜像 1.3查看镜像的分层结构 1.4镜像的缓存特性 2.Dockerfile详解 ...

  10. centos7镜像加速_虚拟机 Linux CentOS7 安装Docker 详解:使用 阿里云Yum源;附加云镜像加速器...

    Docker 要求 CentOS 系统的内核版本高于 3.10 ,先检查一下,如内核版本不符合,不建议参考该贴安装!(CentOS版本 大于7.0以上版本,一般都可以:建议先查询系统内核版本) 如系统 ...

最新文章

  1. 1人15篇入选?华人论文知多少?深度分析ICCV2019论文录取背后的那些事儿!
  2. mysqlimport命令
  3. springboot 替换tomcat_Springboot (二十八)云配置服务器
  4. Spring 使用注解@DependsOn控制Bean加载顺序
  5. 使用Zapier将应用程序与Neo4j集成
  6. react 访问后端_react前端用nginx怎么配置跨域访问后端restful api?
  7. SWIG Python-C封装 char*相关问题(3)
  8. NOIP模拟 6.26
  9. 尝试登录 VMware vCenter Server 5.5 时,“别名”值为空如何解决
  10. Typora图片不显示问题解决方案【Typora + Gitee + PicGo配置图床】
  11. Magnific Popup – 免费的响应式 jQuery Lightbox 插件
  12. 支持select下拉框选择输入和键盘输入两种输入方式并且支持手动换行
  13. 【图像超分辨率】Satellite Image Super-Resolution via Multi-Scale Residual Deep Neural Network
  14. WineBottler for Mac (Mac运行exe程序) 使用教程
  15. vivo计算机的隐藏功能教程,Vivo手机的5个隐藏功能,真的很实用,一定要打开
  16. webservice wsdl 转java对象
  17. 转给你身边的工程师!从零开始搭建一个完整AGV控制系统
  18. 白帽子黑帽子_6种白帽子seo技术可实现在线预期业务
  19. C语言——malloc与free
  20. 天敏SDK2500开发小计

热门文章

  1. 每日算法系列【LeetCode 810】黑板异或游戏
  2. poj3614(Sunscreen)优先队列+贪心
  3. 生成模型VS判别模型
  4. Numpy数据二进制化
  5. 挖掘11亿用户背后的产品逻辑之美
  6. PowerPoint媒体更加适合这样的场合
  7. 6.1 tensorflow2实现WideDeep推荐系统——Python实战
  8. 深度学习入门:一文详解BP神经网络
  9. 海量数据挖掘MMDS week2: Nearest-Neighbor Learning最近邻学习
  10. python flask request 参数映射_Flask request获取参数问题