学习优先级:★★★★★

易用性:★★★★☆

在 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 文件的简洁和安全。