0


【docker】compose 使用 .env 文件

在 Docker Compose 中,你可以使用

.env

文件来定义环境变量,这些变量可以在

docker-compose.yml

文件中被引用。这允许你轻松地管理配置,而不需要硬编码值到你的 Compose 文件中。

以下是如何在 Docker Compose 中使用

.env

文件的步骤:

创建

.env

文件

在你的项目根目录下创建一个名为

.env

的文件,并定义你想要使用的环境变量。例如:

# .env
DB_HOST=db
DB_USER=root
DB_PASS=secret

docker-compose.yml

中引用环境变量

在你的

docker-compose.yml

文件中,你可以使用

${VARIABLE_NAME}

语法来引用

.env

文件中定义的环境变量。例如:

# docker-compose.yml
version: '3'
services:
  web:
    image: "webapp:${TAG}"
    environment:
      - DB_HOST=${DB_HOST}
      - DB_USER=${DB_USER}
      - DB_PASS=${DB_PASS}
  db:
    image: "mysql:5.7"
    environment:
      - MYSQL_ROOT_PASSWORD=${DB_PASS}

在这个例子中,

TAG

DB_HOST

DB_USER

DB_PASS

都是从

.env

文件中获取的。

运行 Docker Compose

现在,当你运行

docker-compose up

命令时,Docker Compose 会自动加载

.env

文件中的环境变量,并将它们应用到你的服务配置中。

docker-compose up -d

注意事项

  • .env 文件不应该被提交到版本控制系统中,因为它可能包含敏感信息。你应该将 .env 文件添加到 .gitignore 文件中,以确保它不会被意外提交。
  • 如果你在命令行中定义了与 .env 文件中相同名称的环境变量,命令行中的值将覆盖 .env 文件中的值。
  • Docker Compose 会自动加载项目根目录下的 .env 文件。如果你想要加载其他位置的 .env 文件,可以使用 --env-file 选项:
docker-compose --env-file /path/to/myenvfile up
  • 环境变量是按顺序解析的,这意味着如果多个 .env 文件中定义了相同的变量,最后一个被加载的文件中的值将覆盖之前的值。

通过使用

.env

文件,你可以轻松地管理 Docker Compose 项目的配置,同时保持配置的灵活性和安全性。




标签: docker 容器 运维

本文转载自: https://blog.csdn.net/wochunyang/article/details/139528327
版权归原作者 程序员食堂 所有, 如有侵权,请联系我们删除。

“【docker】compose 使用 .env 文件”的评论:

还没有评论