开发者学堂课程【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 将其放在阿里云上
二、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
将这些镜像变成模板进行套用。