介绍
-
DockerFile是用来构建Docker镜像的文件(我们写DockerFile,通过它来生成一个Docker镜像,把它发布出去),就是一个命令参数脚本。
-
DockerFile是面向开发的,我们发布新项目、做镜像就需要编写DockerFile文件
-
Docker镜像逐渐成为企业交付的标准(向企业交付一个Docker镜像)
相关名词
步骤:开发、部署、运维……
-
DockerFile:构建文件,定义了一切的步骤,相当于源代码 (自己写的)
-
DockerImages:通过DockerFile构建生成的镜像,这个镜像就是我们最终发布和运行的产品(用别人的)
-
Docker容器(Docker container):容器就是镜像运行起来提供服务的(用别人的)
![](https://img2020.cnblogs.com/blog/1738278/202103/1738278-20210302093009159-708506202.png)
基础知识
-
每个指令(保留关键字)必须是大写字母
-
执行顺序:从上到下
-
注释:#
-
每个指令都会创建提交一个新的镜像层,并提交
构建步骤
-
编写一个DockerFile文件
-
docker build 构建成为一个镜像
-
docker run 运行镜像
-
docker push发布镜像(可以发布到两个地方:DockerHub、阿里云镜像仓库)
DockerFile常用指令
-
FROM:指定基础镜像,一切从这里开始构建
-
MAINTAINER:指定维护者信息(镜像是写的) 姓名+邮箱
-
RUN:镜像构建的时候需要运行的命令
-
ADD:添加内容
-
WORKDIR:镜像的工作目录
-
VOLUME:挂载的目录
-
EXPOSE:保留端口配置(暴露端口)
-
RUN:运行
-
CMD:指定这个容器启动的时候要的命令,只有最后一个会生效,可被替代
-
ENTRYPOINT:指定这个容器启动的时候要的命令,可追加命令
-
ONBUILD:当构建一个被继承DockFile,这个时候就会运行ONBUILD的指令。触发指令
-
COPY:类似ADD,将我们的文件拷贝到镜像中
-
ENV:构建的时候设置环境变量
![](https://img2020.cnblogs.com/blog/1738278/202103/1738278-20210302095108660-754869894.png)
![](https://img2020.cnblogs.com/blog/1738278/202103/1738278-20210302095724291-96274657.png)