通过Dockerfile文件构建镜像

Dockerfile是什么?

Dockerfile是用来构建镜像的文本文件,通过Dockerfile的格式,按顺序编写脚本,编译之后,通过脚本的顺序执行对应的指令,构建一个镜像。

Dockerfile关键字

Dockerfile书写需要注意,对于Dockerfile保留的关键字需要全部大写,且后边必须有至少一个字符,否则将报错。
以下是Dockerfile的保留关键字和解释

1
2
3
4
5
6
7
8
9
10
11
12
FROM:基础镜像,当前镜像是基于FROM指定的对象构建的
MAINTAINER:镜像维护者的姓名和邮箱地址
RUN:容器构建时需要执行的指令
EXPOSE:当前容器对外暴露的端口
WORKDIR:指定在创建容器后,终端默认登录进来的工作目录
ENV:用来在构建镜像过程中设置环境变量
ADD:将宿主机目录下的文件拷贝到镜像中,且ADD命令会自动处理URL和解压tar压缩包
COPY:类似ADD,拷贝文件或目录到镜像中。将从构建上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置
VOLUME:容器数据卷,用于数据保存和持久化工作(指定目录中的文件数据,将会与默认的宿主机文件目录象关联,默认路径可通过`docker inspect Name|ID` 查看)
CMD:指定容器启动时要运行的命令;dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
ENTRYPOINT:指定容器启动时要执行的命令;ENTRYPOINT的目的和CMD一样,但是CMD会被docker run之后的参数替换,而ENTRYPOINT会将docker run之后的参数进行拼接到命令中
ONBUILD:当构建一个被继承的dockerfile时运行命令,父镜像被子镜像继承后,父镜像的onbuild被触发

Dockerfile构建镜像

当编写好Dockerfile文件之后,通过指令对Dockerfile进行构建,创建一个新的镜像

镜像:docker build -f /dockerfilePath/dockerfile -t imageName[:TAG] .

总结

dockerfile构建镜像,可以按照自己的意愿构建镜像,如Java程序镜像,或者其他的镜像内容。

最后更新: 2020年09月08日 22:42

原始链接: https://maiyikai.github.io/2020/09/09/1582786566/

× ~谢谢大爷~
打赏二维码