3.3 Dockerfile语法梳理及最佳实践

https://docs.docker.com/engin...

FROM

# 制作base image,scratch是关键字
FROM scratch
# 使用base image
FROM centos
# 使用特定版本的base image
FROM centos:7
尽量使用官方的image作为base image,原因就是稳定安全

LABEL

LABEL的作用就是定义镜像的metadata

LABEL maintainer="[email protected]"
LABEL version="1.0"
LABEL description="This is description"

RUN

用于执行shell命令,并创建新的Image Layer

RUN yum update

WORKDIR

相当于cd命令,WORKDIR 最好使用绝对路径,免得阅读困难

# 如果没有就会自动创建test目录
WORKDIR /test
WORKDIR demo
# 输出结果应该是/test/demo
RUN pwd

ADD 和 COPY

COPY 和 ADD 用于将本地文件添加到镜像中去,大部分情况,COPY优先于ADD。此外,ADD还可以对压缩包文件进行自动解压

ADD test.tar.gz /

ENV

ENV用于设置常量,可以增加配置的可维护性

ENV NAME siguoya
RUN echo ${NAME}

你可能感兴趣的:(3.3 Dockerfile语法梳理及最佳实践)