Dockerfile常用关键字
以下是Dockerfile中常用的关键字及其功能说明:
- 基础指令
-
FROM
指定基础镜像(必须是第一条指令)FROM ubuntu:20.04 -
MAINTAINER(已弃用)
设置镜像维护者信息MAINTAINER zhang@163.com -
LABEL
添加元数据标签LABEL version="1.0" description="My App"
- 文件操作
-
COPY
从宿主机复制文件(不解压)COPY app/ /app/ -
ADD
复制文件(支持URL和自动解压)ADD https://example.com/file.tar.gz /app/ -
RUN
在镜像中执行命令RUN apt-get update && apt-get install -y curl
- 环境配置
-
ENV
设置环境变量ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 -
WORKDIR
设置工作目录WORKDIR /app -
VOLUME
定义数据卷VOLUME /data
- 启动配置
-
EXPOSE
暴露端口EXPOSE 8080 -
ENTRYPOINT
设置容器启动命令(优先级高)ENTRYPOINT ["java", "-jar", "app.jar"] -
CMD
设置默认命令(可被覆盖)CMD ["--server.port=8080"]
- 高级指令
-
USER
设置运行用户USER appuser -
HEALTHCHECK
定义健康检查HEALTHCHECK --interval=30s CMD curl -f http://localhost/ || exit 1 -
ARG
定义构建参数ARG BUILD_DATE -
ONBUILD
定义子镜像构建时执行的指令ONBUILD RUN echo "Building..."
注意事项
- FROM 必须是第一条指令,且基础镜像必须存在
- RUN 每执行一次都会创建新层
- CMD 和 ENTRYPOINT 可组合使用,但优先级不同
- COPY 和 ADD 区别:COPY不支持URL和自动解压
这些关键字是构建Docker镜像的核心指令,合理使用可优化镜像大小和启动效率。
参考资料
[1] Dockerfile关键字介绍与注意事项 - CSDN博客
[2] docker(Dockerfile、 关键字解释、Dockerfile编写、构建) -day04 - CSDN博客
[3] Dockerfile常用指令 - CSDN博客
[4] 【docker】Dockerfile 指令详解 - CSDN博客
[5] Dockerfile : 常用指令 - CSDN博客
[6] 2025带你吃透Docker,一周带你从入门到精通,附加落地实战项目,少走99%弯路! - 哔哩哔哩
[7] Docker教程-9:Docker之Dockerfile - 哔哩哔哩
[8] docker进阶速查 - CSDN博客
[9] Docker容器——Dockerfile中常用的关键词 - 腾讯云
[10] Dockerfile介绍 和 docker build常用命令介绍 - CSDN博客
[11] Dockerfile 关键字 - 博客园
[12] 【自定义镜像—Dockerfile完全指南】常用的十三种dockerfile指令及构建Tomcat镜像例子 - CSDN博客
[13] docker学习进阶篇 - CSDN博客
[14] Docker教程二 - CSDN博客
[15] Docker相关知识点(五) [DockerFile] - CSDN博客
[16] Docker - dockerfile关键字 - 51CTO博客
[17] 纯干货!Docker Dockerfile指令大全(非常详细)零基础入门到精通,收藏这一篇就够了 - CSDN博客
[18] Docker: dockerfile常用关键字 - 博客园
百度AI生成,内容仅供参考

浙公网安备 33010602011771号