DockerFile 小总结|学习笔记

简介: 快速学习 DockerFile 小总结

开发者学堂课程【Docker 快速入门DockerFile 小总结】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/850/detail/14052


DockerFile 小总结


内容介绍:

一、总结 DockerFile 运行

二、DockerFile 的体系结构

三、DockerFile 的案例


一、总结 DockerFile 运行

我们简单的梳理一下。首先,My computer 中有本地 docker 的实例。DockerFile是我们用 VI 编写的,第一行永远是 from。

1.编写 Doctor fire

2.build 中会形成一个本地的镜像

3.run 使得镜像变成一个具体实例,Stops tart restored,暂且不说

4.变成具体实例后,使用 commit 又变成新的镜像。

5.具体实例有各种版本和标签号

6.使用 pull 可以将 docker 从仓库里边拉下来

7.采用 push 将其放在阿里云上

image.png


二、DockerFile 的体系结构

From——基础镜像,当前新镜像是基于哪个镜像的

MAINTAINER——镜像维护者的姓名和邮箱地址

RUN——容器构建时需要运行的命令

EXPOSE——当前容器对外暴露出的端口

WORKDIR——指定在创建容器后,终端默认登陆的进来木工作目录,一个落脚点。

ENV——用来构建镜像过程中设置环境变量

ADD——将宿主机目录下的文件拷贝进镜像且 ADD 命令会自动处理 URL 和解压 tar 压缩包。

COPY——

(1)类似 ADD 拷贝文件和目录到镜像中

(2)将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置

VOLUME——容器数据卷,用于数据保存和持久化工作

CMD——

(1)指定一个容器启动时运行的命令

(2)DockerFile 中可以有多个 CMD 指令,但只有最后一个生效,CMD 会被Docker run 之后的参数替换

ENTRYPOINT——

(1)指定一个容器启动时要运行的命令

(2)ENTRYPOINT 的目的和 CMD 一样,都是在指定容器启动程序及参数

ONBUILD—— 当构建一个被继承的 DockerFile 运行命令时,父镜像在被子继承后父镜像的 ONBUILD 被触发。


三、DockerFile 的案例

Bas 镜像 e(scratch)

自定义镜像 mycentos

CMD/ENTRYPOINT 镜像案例

自定义镜像 TomcT9

将这些镜像变成模板进行套用。

相关文章
|
2月前
|
应用服务中间件 Shell nginx
Docker进阶:深入了解 Dockerfile
Dockerfile 是定义 Docker 镜像内容和构建步骤的文本文件,用于定制化镜像构建,包括基础镜像选择、软件安装和环境变量设置等。其优点在于支持容器化趋势,简化快速部署和交付,保证环境一致性,实现资源隔离和安全性,以及促进持续集成与持续部署。Dockerfile 指令如 FROM(指定基础镜像)、RUN(执行命令)、CMD(容器启动命令)和 EXPOSE(声明端口)。编写规则包括使用大写指令、创建 .dockerignore 文件排除无关文件等。
100 0
|
4月前
|
缓存 Shell Go
dockerfile笔记
dockerfile笔记
45 0
|
5月前
|
Ubuntu Shell Docker
Dockerfile
Dockerfile 可以通过以下步骤进行: 1. 了解 Dockerfile 的基本概念:Dockerfile 是用于构建 Docker 镜像的文本文件,它包含了构建 Docker 镜像所需的指令。了解 Dockerfile 的基本概念有助于更好地理解 Dockerfile 的作用和用途。
31 2
|
9月前
|
Linux 应用服务中间件 开发工具
dockerfile
dockerfile
74 0
|
10月前
|
Java Shell Linux
41-Dockerfile-Dockerfile简介
41-Dockerfile-Dockerfile简介
|
10月前
|
Go 容器
一文了解 Dockerfile 鲜为人知的一面
Hello folks,今天给大家介绍一下如何在 Dockerfile 中进行 Go 代码编写及运用(备注:此处暂不关注所部署的容器大小及性能问题)。
71 0
|
12月前
|
应用服务中间件 Shell nginx
|
Ubuntu Shell 开发工具
DockerFile
DockerFile
62 0
|
运维 Java Shell
Dockerfile学习
Dockerfile学习笔记
|
运维 Shell Linux
Dockerfile 深入理解
Dockerfile 深入理解
186 0
Dockerfile 深入理解