前言
本文仅是个人总结,强烈推荐查看官方文档(v18.09):
dockerfile指令介绍
dockerfile最佳实践
Dockerfile 指令
Dockerfile是一种文本文档,其内容是构建镜像的指令的集合。Dockerfile的指令大致可包含四个部分:基础镜像信息指令、维护者信息指令、镜像操作指令和容器启动时执行指令。
Dockerfile格式:
# Comment
INSTRUCTION arguments
FROM
FROM <image>[:<tag>] [AS <name>]
为Dockerfile的后续指令指定基础镜像,因此构建必须从FROM开始。
示例:FROM nginx:latest
MAINTAINER
MAINTAINER <name>
指定生成镜像的作者名,不过不推荐使用,推荐使用LABEL,LABEL可以指定镜像元数据,方便查看。
示例:
MAINTAINER xul@bubble.com
LABEL maintainer="xul@bubble.com"
LABEL
LABEL <key>=<value> <key>=<value>...
指定镜像标签,将元数据添加到镜像。
示例:
LABEL "maintainer"="xul@bubble.com"
LABEL com.example.label-with-value="foo"
OR
LABEL version="1.0" description="This image is just a test"
WORKDIR
WORKDIR /path/t