Docker详解(八)——Docker镜像制作

简介: Docker详解(八)——Docker镜像制作

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

今天继续给大家介绍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】 【新的镜像名】
1
即可生产一个含有EPEL扩展源的镜像,如下所示:

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

mkdir -p /docker-build
1
2、接下来,创建Dockerfiel,执行命令:

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

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

docker build -t 【父镜像名】:【新镜像tag】 【构建镜像的目录】
1
我们执行命令如下:

docker build -t docker.io/centos/systemd:apache ./
1
执行结果如下:

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

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

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

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

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/124171663

目录
相关文章
|
4天前
|
Docker 容器
【Docker】掌握 Docker 镜像操作:从基础到进阶
【Docker】掌握 Docker 镜像操作:从基础到进阶
|
4天前
|
存储 安全 持续交付
【Docker 专栏】Docker 镜像的版本控制与管理
【5月更文挑战第9天】本文探讨了Docker镜像版本控制与管理的重要性,包括可重复性、回滚能力、协作开发和持续集成。常用方法有标签、构建参数和版本控制系统。管理策略涉及定期清理、分层管理和镜像仓库。语义化标签、环境变量和配置文件在版本控制中有应用。版本系统与Docker结合能跟踪历史和促进协作。注意点包括优化镜像大小、确保安全性和兼容性。案例分析和未来趋势展示了持续发展的镜像管理技术,为Docker应用的稳定与进步保驾护航。
【Docker 专栏】Docker 镜像的版本控制与管理
|
4天前
|
Docker 容器
docker从指定repo拉取镜像
docker从指定repo拉取镜像
|
2天前
|
存储 Linux Docker
CentOS7修改Docker容器和镜像默认存储位置
CentOS7修改Docker容器和镜像默认存储位置
|
4天前
|
存储 安全 开发者
如何删除 Docker 镜像、容器和卷?
【5月更文挑战第11天】
21 2
如何删除 Docker 镜像、容器和卷?
|
4天前
|
运维 安全 Docker
【Docker 专栏】Docker 镜像安全扫描与漏洞修复
【5月更文挑战第9天】Docker技术在软件开发和部署中带来便利,但其镜像安全问题不容忽视。本文探讨了Docker镜像安全扫描与漏洞修复,强调了镜像安全对应用和系统的重要性。文中介绍了静态和动态扫描方法,列举了软件漏洞、配置漏洞和恶意软件等常见安全问题,并提到了Clair和Trivy等扫描工具。修复策略包括更新软件、调整配置和重建镜像。此外,加强安全意识、规范镜像制作流程和定期扫描是管理建议。未来,将持续面对新的安全挑战,需持续研究和完善安全技术。
【Docker 专栏】Docker 镜像安全扫描与漏洞修复
|
4天前
|
Java Linux 数据安全/隐私保护
Docker自定义JDK镜像并拉取至阿里云镜像仓库全攻略
Docker自定义JDK镜像并拉取至阿里云镜像仓库全攻略
|
4天前
|
存储 弹性计算 运维
Docker数据集与自定义镜像:构建高效容器的关键要素
Docker数据集与自定义镜像:构建高效容器的关键要素
|
4天前
|
存储 缓存 运维
【Docker 专栏】Docker 镜像的分层存储与缓存机制
【5月更文挑战第8天】Docker 镜像采用分层存储,减少空间占用并提升构建效率。每个镜像由多个层组成,共享基础层(如 Ubuntu)和应用层。缓存机制加速构建和运行,通过检查已有层来避免重复操作。有效管理缓存,如清理无用缓存和控制大小,可优化性能。分层和缓存带来资源高效利用、快速构建和灵活管理,但也面临缓存失效和层管理挑战。理解这一机制对开发者和运维至关重要。
【Docker 专栏】Docker 镜像的分层存储与缓存机制
|
4天前
|
数据库 Docker 容器
【Docker 专栏】使用 Dockerfile 自动化构建 Docker 镜像
【5月更文挑战第8天】Dockerfile是构建Docker镜像的关键,它包含一系列指令,用于描述应用运行环境及所需软件包。通过自动化构建,能提高效率、保证可重复性并提升灵活性。确定基础镜像、安装依赖、设置环境后,执行Dockerfile生成镜像,用于应用程序部署。虽然需要熟悉Docker技术和应用细节,但其带来的益处使其成为现代软件开发和部署的重要工具。
【Docker 专栏】使用 Dockerfile 自动化构建 Docker 镜像
http://www.vxiaotou.com