在 Docker Compose 中设置环境变量可以通过几个不同的方法实现。以下是常用的方法:
docker-compose.yml
文件中直接定义环境变量您可以在服务的配置中直接使用 environment
字段来设置环境变量:
version: '3' services: app: image: your_image environment: - DATABASE_URL=mysql://user:password@db:3306/dbname - ENVIRONMENT=production
.env
文件Docker Compose 支持使用 .env
文件来管理环境变量。您可以在项目目录下创建一个名为 .env
的文件,然后在其中定义变量。示例如下:
.env
文件DATABASE_URL=mysql://user:password@db:3306/dbname ENVIRONMENT=production
docker-compose.yml
中引用变量version: '3' services: app: image: your_image environment: - DATABASE_URL=${DATABASE_URL} - ENVIRONMENT=${ENVIRONMENT}
您还可以让 Docker Compose 使用系统环境变量。在 docker-compose.yml
中,直接引用系统中设置的环境变量:
version: '3' services: app: image: your_image environment: - DATABASE_URL=${DATABASE_URL} # 从系统环境中获取
在这种情况下,您需要确保在运行 docker-compose
命令之前,您的环境中已经设置了 DATABASE_URL
变量。
如果您想从特定文件加载环境变量,可以使用 env_file
。例如,您可以创建一个名为 app.env
的文件:
app.env
文件DATABASE_URL=mysql://user:password@db:3306/dbname ENVIRONMENT=production
docker-compose.yml
中使用 env_file
version: '3' services: app: image: your_image env_file: - app.env
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。