Skip to content

基础配置类指令

指令说明用法示例
FROM指定基础镜像,用于后续的指令构建。FROM ubuntu:20.04 <br> FROM node:14-alpine
LABEL添加镜像的元数据,使用键值对的形式。LABEL version="1.0" description="Web Application" maintainer="dev@example.com"
ENV在容器内部设置环境变量。ENV NODE_ENV production <br> ENV PATH=/usr/local/bin:$PATH
ARG定义在构建过程中传递给构建器的变量,可使用 "docker build" 命令设置。ARG VERSION=latest <br> ARG BUILD_DATE

执行命令类指令

指令说明用法示例
RUN在构建过程中在镜像中执行命令。RUN apt-get update && apt-get install -y curl <br> RUN npm install
CMD指定容器创建时的默认命令。(可以被覆盖)CMD ["node", "app.js"] <br> CMD ["nginx", "-g", "daemon off;"]
ENTRYPOINT设置容器创建时的主要命令。(不可被覆盖)ENTRYPOINT ["java", "-jar"] <br> ENTRYPOINT ["python", "app.py"]
SHELL覆盖Docker中默认的shell,用于RUN、CMD和ENTRYPOINT指令。SHELL ["/bin/bash", "-c"] <br> SHELL ["powershell", "-command"]

文件操作类指令

指令说明用法示例
ADD将文件、目录或远程URL复制到镜像中。ADD app.tar.gz /opt/ <br> ADD https://example.com/file.txt /app/
COPY将文件或目录复制到镜像中。COPY package.json /app/ <br> COPY . /workspace
WORKDIR设置后续指令的工作目录。WORKDIR /app <br> WORKDIR /usr/src/app
VOLUME为容器创建挂载点或声明卷。VOLUME /data <br> VOLUME ["/var/log", "/var/db"]

网络与安全类指令

指令说明用法示例
EXPOSE声明容器运行时监听的特定网络端口。EXPOSE 80 <br> EXPOSE 8080/tcp 8081/udp
USER指定后续指令的用户上下文。USER nginx <br> USER node:node
STOPSIGNAL设置发送给容器以退出的系统调用信号。STOPSIGNAL SIGTERM <br> STOPSIGNAL 9

高级指令

指令说明用法示例
ONBUILD当该镜像被用作另一个构建过程的基础时,添加触发器。ONBUILD RUN npm install <br> ONBUILD COPY . /app
HEALTHCHECK定义周期性检查容器健康状态的命令。`HEALTHCHECK --interval=5m CMD curl -f http://localhost/
MULTI-STAGE多阶段构建,用于优化镜像大小。FROM node:14 AS build <br> FROM nginx:alpine <br> COPY --from=build /app/dist /usr/share/nginx/html

不知道写什么