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

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

今天继续给大家介绍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

目录
相关文章
|
17天前
|
Docker 容器
|
4天前
|
Java Docker 微服务
SpringBoot微服务打包Docker镜像
SpringBoot微服务打包Docker镜像
28 11
|
4天前
|
Docker 容器
用Docker发布自己的镜像
用Docker发布自己的镜像
34 9
|
6天前
|
存储 安全 Ubuntu
docker中的镜像
【10月更文挑战第1天】
22 4
|
4天前
|
缓存 安全 Linux
docker镜像管理问题
【10月更文挑战第3天】
30 1
|
6天前
|
Docker 容器
docker的导入本地镜像和导出本地镜像
本文介绍了如何使用Docker对本地镜像进行导入和导出操作,包括从本地导入`nginx.tar`镜像以及将`open-webui`镜像导出并压缩为`open-webui.tar.gz`。
19 1
|
1月前
|
应用服务中间件 Linux nginx
Docker镜像-手动制作yum版nginx镜像
这篇文章介绍了如何手动制作一个基于CentOS 7.6的Docker镜像,其中包括下载指定版本的CentOS镜像,创建容器,配置阿里云软件源,安装并配置nginx,自定义nginx日志格式和web页面,最后提交镜像并基于该镜像启动新容器的详细步骤。
124 21
Docker镜像-手动制作yum版nginx镜像
|
7天前
|
前端开发 应用服务中间件 nginx
docker运行nginx镜像
这篇文章详细说明了如何在Docker中部署并运行Nginx服务,包括拉取镜像、配置文件的挂载以及容器的启动配置。
43 0
docker运行nginx镜像
|
10天前
|
搜索推荐 应用服务中间件 nginx
docker与containerd镜像获取及导出导入的区别与注意事项(报错信息:ctr: content digest sha256........ac47: not found)
docker与containerd镜像获取及导出导入的区别与注意事项(报错信息:ctr: content digest sha256........ac47: not found)
|
21天前
|
jenkins 持续交付 Docker
docker之自定义制作镜像(python程序)
docker之自定义制作镜像(python程序)