目录
一、相关docker镜像构建
二、使用docker commit构建(不推荐)
2.1 准备工作
2.2 运行容器并进行修改
2.3 构建新镜像
2.3.1 查看commit帮助
2.3.2 将容器保存为新的镜像
2.3.3 测试
2.4 慎用docker commit
三、使用 Dockerfile 定制镜像(推荐)
3.1 说明
3.2 使用Dockerfile制作镜像
FROM表示指定基础镜像
RUN执行命令
其它Dockerfile指令
3.3 用docker build命令构建镜像
四、其它生成镜像的方法
4.1 从rootfs压缩包导入
4.2 docker save和docker load
附录一、Dockerfile指令详解
copy复制文件
ADD 更高级的复制文件
CMD 容器启动命令
ENTRYPOINT 入口点
ENV 设置环境变量
ARG 构建参数
VOLUME 定义匿名卷
EXPOSE 声明端口
WORKDIR 指定工作目录
USER 指定当前用户
HEALTHCHECK 健康检查
ONBUILD 为他人做嫁衣裳
参考文档
上一章《hualinux 进阶 1.2: centos8 docker CE 入门及安装(一)》我对docker进行了介绍、安装、一些基础操作,篇开始讲docker镜像制作
Docker 提供了两种构建镜像的方法:
- docker commit命令(不推荐)
- Dockerfile构建文件(推荐)
对于 Docker 用户来说,最好的情况是不需要自己创建镜像。几乎所有常用的数据库、中间件、应用软件等都有现成的 Docker 官方镜像或其他人和组织创建的镜像,我们只需要稍作配置就可以直接使用。
使用现成镜像的好处除了省去自己做镜像的工作量外,更重要的是可以利用前人的经验。特别是使用那些官方镜像,因为 Docker 的工程师知道如何更好的在容器中运行软件。
当然,某些情况下我们也不得不自己构建镜像,比如:
1.找不到现成的镜像,比如自己开发的应用程序。
2.需要在镜像中加入特定的功能,比如官方镜像几乎都不提供 ssh。
Docker 提供了两种构建镜像的方法:
- docker commit命令
- Dockerfile构建文件
docker commit 命令是创建新镜像最直观的方法,其过程包含三个步骤:
- 运行容器
- 修改容器
- 将容器保存为新的镜像(docker commit命令)
我这里以上一章《hualinux 进阶 1.2: centos8 docker CE 入门及安装(一)》下载的nginx1.18镜像为例子,让主机的目录和配置文件映射到docker中,也有不少公司是直接把源代码打包进镜像中的,这样下载镜像就把源代码一起下载了,多省事!
为了方便操作,我在宿主机子上也安装一个nginx,这样方便修改
#1 nginx安装
#写入nginx配置文件
cat>/etc/yum.repos.d/nginx.repo<
刚才是1.18的
#2 建立相关的文件和目录
宿主机上建立目录和创建index.html文件
#建立相关目录
mkdir -pv /disk1/www/hualinux.com
#写入index.html文件
cat>/disk1/www/hualinux.com/index.html<
首页
欢迎来到 hualinux