Dockerfile 常规语法
# 基础镜像
FROM ubuntu:16.04
# 在构建镜像是执行
RUN apt-get update -y
# 等价 LABEL maintainer="yangjinke80@gmail.com"
MAINTAINER jack<yangjinke80@gmail.com>
# 打标签,在k8s中好定位
LABEL app="demo"
# 文档型标签,让使用者知晓该容器需要暴露某个端口
EXPOSE 80/tcp
# 容器运行时的环境变量,通过环境变量的方式实现配置传递,docker run -e 来添加或覆盖。后续的指令中,也可以用$引用这个环境变量
# ENV <key> <value>
# ENV <key1>=<value1> <key2>=<value2>...
ENV name jack
# 是COPY的超集,支持压缩包和URL
ADD src dest
# 推荐
COPY src dest
# docker run 执行的东西,run后面可以覆盖,不推荐使用ENTRYPOINT(不是PID1进程,无法收到SIGTERM)
CMD ["<可执行文件或命令>","<param1>","<param2>",...]
# 文档型标签,告诉使用者需要挂载的目录,外部数据或配置文件
VOLUME /data
# 容器用户,可以降权
USER root
# 工作目录根路径
WORKDIR /root