Dockerfile配置指南:常用配置及示例

429人浏览 2023-07-26

Dockerfile是用于定义Docker镜像构建过程的文本文件,它包含一系列的指令和配置选项。以下是一些常见的Dockerfile配置和其作用的详细说明,以及适用的示例和使用场景:

  1. FROM:指定基础镜像,作为构建新镜像的起点。它是Dockerfile中的第一条指令,必须出现在Dockerfile中。

    示例:

    FROM ubuntu:latest

    使用场景:使用基础镜像构建自定义镜像。

  2. WORKDIR:设置工作目录,用于在容器内部执行后续命令时的工作路径。

    示例:

    WORKDIR /app

    使用场景:指定容器内部的工作目录,用于运行和构建应用程序。

  3. COPY/ADD:将本地文件或目录复制到容器中的指定路径。

    示例:

    COPY app.py /app/app.py

    使用场景:将应用程序代码、配置文件或其他资源复制到镜像中。

  4. RUN:在镜像构建期间执行命令。可以执行任何适用于基础镜像的命令。

    示例:

    RUN apt-get update && apt-get install -y python3

    使用场景:安装软件包、运行编译命令、设置环境变量等。

  5. EXPOSE:声明容器运行时将监听的端口。

    示例:

    EXPOSE 8080

    使用场景:声明容器内应用程序监听的端口。

  6. CMD:设置容器启动时要执行的命令,可以有多个CMD指令,但只有最后一个会生效。

    示例:

    CMD ["python", "app.py"]

    使用场景:指定容器启动时要运行的默认命令,例如启动应用程序或服务。

  7. ENV:设置环境变量。

    示例:

    ENV MYSQL_USER=admin \ MYSQL_PASSWORD=pass123 \ MYSQL_DATABASE=mydb

    使用场景:设置应用程序运行所需的环境变量。

  8. ENTRYPOINT:设置容器启动时要执行的命令,与CMD不同的是,ENTRYPOINT指定的命令不会被覆盖。

    示例:

    ENTRYPOINT ["python", "app.py"]

    使用场景:与CMD结合使用,提供容器启动的默认执行命令,并允许在命令行中传递参数。

  9. VOLUME:声明持久化数据的挂载点。

    示例:

    VOLUME ["/data"]

    使用场景:声明需要在容器和主机之间共享的目录,以持久化保存数据。

 

 

推荐文章

Docker的基本常用命令大全
2021-04-07
使用 Dockerfile 在线部署和更新 Golang 项目的最佳实践
2023-07-26
搜索文章