【docker】compose 使用 .env 文件
在 Docker Compose 中,你可以使用.env文件来定义环境变量,这些变量可以在文件中被引用。这允许你轻松地管理配置,而不需要硬编码值到你的 Compose 文件中。以下是如何在 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 项目的配置,同时保持配置的灵活性和安全性。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)