Dockerfile的构建
Dockerfile是什么
一个包含用于组合 image 的命令的文本文件,docker 通过 dockerfile 和构建环境的上下文来构建 image 。
编写Dockerfile
FROM
首先,我们必须用 FROM
指定一个基础image,然后后续的指令会运行在该image上
FROM [--platform=<platform>] <image>[:<tag>] [AS <名称>]
FROM [--platform=<platform>] <image>[:@<digest>] [AS <名称>]
示例:
FROM redis:5.0.12
LABEL
然后让我们添加维护者的基本信息
MAINTAINER <name>
不过要注意的是该命令已经被标记为deprecated,所以我们最好用 LABEl
代替它
LABEL maintainer="lihua@163.com"
同时,LABEL
指令还可以设置任何的元数据,就像这样
LABEL version="1.0"
当我们对 build
后的 image 使用 docker inspect
命令时会就能看见该 LABEl
WORKDIR
好的,现在我们已经编写完了基本的指令,接下来来编写执行指令。
在我们正式工作之前,先来设置工作目录。
设置一个工作目录只需要
WORKDIR /mydata
然后我们下面的大多数命令都会在这个目录下运行。
当然,如果它不存在则会自动创建的。
RUN
RUN
指令应该是最重要的指令之一,它可以在容器内执行指定的指令,并把结果保存下来,一条 RUN
指令应该长这样:
RUN <command> # 这