学习优先级:★★★★★
易用性:★★★★☆
在 Docker Compose 中,可以使用 environment 指令设置环境变量。这些变量在容器运行时可用,可用于传递配置信息(如数据库 URL 或密码),而无需直接将它们写入代码。
以下是一个示例,展示了如何在容器中使用 environment 变量来配置数据库。
示例代码
version: '3'
services:
db:
image: postgres:latest # 使用最新的 PostgreSQL 镜像
environment:
POSTGRES_USER: user # 设置用户名
POSTGRES_PASSWORD: password # 设置密码
POSTGRES_DB: mydatabase # 设置数据库名
执行结果
db 容器将使用指定的环境变量启动,PostgreSQL 使用这些变量来设置数据库和用户。
环境变量允许灵活地配置重要细节。通常与 .env 文件结合使用,以避免将敏感信息(如密码)直接存储在代码或 Docker Compose 文件中。
补充说明
.env 文件包含以简单键值对格式定义的环境变量,例如:
POSTGRES_PASSWORD=mysecretpassword
Docker Compose 会自动加载位于 docker-compose.yml 文件同一目录下的 .env 文件,并在运行时将变量添加到容器中。这样可以方便地管理配置信息,同时保持 Docker Compose 文件的简洁和安全。