在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享

2024/11/5 6:33:27

本文主要是介绍在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在 Docker Compose 中设置环境变量可以通过几个不同的方法实现。以下是常用的方法:

1. 在 docker-compose.yml 文件中直接定义环境变量

您可以在服务的配置中直接使用 environment 字段来设置环境变量:

version: '3'
services:
  app:
    image: your_image
    environment:
      - DATABASE_URL=mysql://user:password@db:3306/dbname
      - ENVIRONMENT=production

YAML

2. 使用 .env 文件

Docker Compose 支持使用 .env 文件来管理环境变量。您可以在项目目录下创建一个名为 .env 的文件,然后在其中定义变量。示例如下:

创建 .env 文件

DATABASE_URL=mysql://user:password@db:3306/dbname
ENVIRONMENT=production

Env

在 docker-compose.yml 中引用变量

version: '3'
services:
  app:
    image: your_image
    environment:
      - DATABASE_URL=${DATABASE_URL}
      - ENVIRONMENT=${ENVIRONMENT}

YAML

3. 从系统环境变量中获取

您还可以让 Docker Compose 使用系统环境变量。在 docker-compose.yml 中,直接引用系统中设置的环境变量:

version: '3'
services:
  app:
    image: your_image
    environment:
      - DATABASE_URL=${DATABASE_URL}  # 从系统环境中获取

YAML

在这种情况下,您需要确保在运行 docker-compose 命令之前,您的环境中已经设置了 DATABASE_URL 变量。

4. 使用文件导入变量

如果您想从特定文件加载环境变量,可以使用 env_file。例如,您可以创建一个名为 app.env 的文件:

创建 app.env 文件

DATABASE_URL=mysql://user:password@db:3306/dbname
ENVIRONMENT=production

Env

在 docker-compose.yml 中使用 env_file

version: '3'
services:
  app:
    image: your_image
    env_file:
      - app.env

标签: 来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。



这篇关于在 Docker Compose 中怎么设置环境变量-icode9专业技术文章分享的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程