当前位置:首页 > 修改聊天记录 > 正文内容

如何在 Compose 文件中配置环境变量?

# Docker Compose 环境变量配置|最全 4 种用法(直接复制可用) Compose 配置环境变量非常简单,**支持直接写、支持外部文件、支持混合使用**,我给你整理**最常用、最安全、最规范**的写法,新手直接照抄。 --- ## 一、最常用:直接写在 docker-compose.yml 里 适合简单、少量环境变量。 ```yaml version: '3.8' services:  mysql:    image: mysql:8.0    # 环境变量配置    environment:      MYSQL_ROOT_PASSWORD: 123456      MYSQL_DATABASE: mydb      TZ: Asia/Shanghai ``` ### 两种写法都可以 ```yaml # 写法1(键值对,推荐) environment:  KEY: VALUE # 写法2(数组) environment:  - KEY=VALUE ``` --- ## 二、最安全:使用外部 .env 文件(企业标准) **密码、密钥绝对不能写在 yml 里**,必须放 `.env` 文件。 ### 1)创建文件 `.env`(和 docker-compose.yml 同目录) ```env # .env 文件 MYSQL_PASSWORD=123456 MYSQL_DB=mydb REDIS_PASS=123456 TZ=Asia/Shanghai ``` ### 2)在 compose 中引用 ```yaml services:  mysql:    image: mysql:8    environment:      MYSQL_ROOT_PASSWORD: ${MYSQL_PASSWORD}      MYSQL_DATABASE: ${MYSQL_DB} ``` **自动加载**,不需要额外配置,Compose 会自动读 `.env`。 --- ## 三、指定自定义 env 文件(多环境必备) 如果你有: - `.env.dev` - `.env.prod` - `.env.test` 可以在 yml 里指定: ```yaml services:  api:    image: myapp    env_file:      - .env.dev ``` 或多个: ```yaml env_file:  - .env.common  - .env.prod ``` --- ## 四、运行时传入环境变量(临时覆盖) 启动时直接覆盖,优先级最高: ```bash MYSQL_PASS=654321 docker-compose up -d ``` --- # 环境变量优先级(重要!) 1. **运行时传入**(最高) 2. **docker-compose.yml 里写的 environment** 3. **env_file 指定的文件** 4. **.env 默认文件** 5. **镜像内部默认变量**(最低) --- # 最规范企业级模板(直接用) ## docker-compose.yml ```yaml version: '3.8' services:  mysql:    image: mysql:8.0    environment:      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}      MYSQL_DATABASE: ${MYSQL_DATABASE}      TZ: ${TZ}    volumes:      - mysql-data:/var/lib/mysql    restart: always  redis:    image: redis:alpine    command: redis-server --requirepass ${REDIS_PASSWORD}    environment:      TZ: ${TZ} volumes:  mysql-data: ``` ## .env ```env MYSQL_ROOT_PASSWORD=123456 MYSQL_DATABASE=appdb REDIS_PASSWORD=123456 TZ=Asia/Shanghai ``` --- ## 常用环境变量速查(直接复制) ### MySQL ``` MYSQL_ROOT_PASSWORD MYSQL_DATABASE MYSQL_USER MYSQL_PASSWORD TZ=Asia/Shanghai ``` ### Redis ``` REDIS_PASSWORD ``` ### Nginx / Java / Node ``` TZ=Asia/Shanghai SPRING_PROFILES_ACTIVE=prod NODE_ENV=productio

扫描二维码推送至手机访问。

版权声明:本文由手机数据加工厂发布,如需转载请注明出处。

本文链接:https://www.gaijilu.com/?id=247

“如何在 Compose 文件中配置环境变量?” 的相关文章

教你如何在智能手机上保护个人隐私

教你如何在智能手机上保护个人隐私

保护个人隐私是每个人都应该关注的问题,尤其是在智能手机使用如此普及的今天。我们的手机里储存着大量的个人信息,如联系人、短信、通话记录、照片、视频、社交媒体账户等等,如果不加以保护,这些信息就可能会被不法之徒窃取、泄露或滥用。那么,怎样在智能手机上保护个人隐私呢?以下是手机数据工厂huifus.com...

倾情打造最新款WX外挂链接同步修改器,仿真度高,操作便捷

微信同步修改,改单专用链接,微信改双向链接,同步修改器,仿真度高,操作便捷,支持测试。测试添加薇:gaijilu-com,或者直接联系本站右下角“在线客服”也可以。...

微信记录彻底备份教程,换手机一键迁移

全程不用复杂操作,老人也能看懂,每一步都对应截图位置。一、手机直接互传(换手机首选,免费最快)适合:旧手机换新手机、当场迁移所有聊天1新旧手机都连上同一个 WiFi,登录同一个微信号2打开微信 → 点【我】→【设置】3找到【通用】→【聊天记录迁移与备份】4选择【迁移聊天记录到另一台设备】5旧手机勾选...

 如何使用iMazing进行照片备份?

如何使用iMazing进行照片备份?

一、准备工作电脑安装 iMazing(支持 Mac / Windows)用原装数据线把 iPhone 连到电脑手机解锁,信任此电脑二、方法 A:单独导出照片(最常用)1. 进入照片界面iMazing 识别手机后,左侧点击照片iMazing2. 选择要备份的照片按 Ctrl+A 全选,或手动勾选可按相...

什么是科技数据?

科技数据,本质上是通过电子设备(手机、电脑、服务器等)采集、存储、传输和处理的各类信息的集合,以二进制代码的形式存在,是数字科技的基础。与我们传统认知中的“文件”不同,科技数据的范畴更广泛,既包括我们主动创建的照片、文档、视频(主动数据),也包括设备运行时自动生成的缓存、日志、定位信息(被动数据);...

 有哪些适合手机电脑数据同步的免费工具?

有哪些适合手机电脑数据同步的免费工具?

一、局域网高速互传(同 Wi‑Fi,最快、最稳、隐私好)1. LocalSend(强烈推荐,替代 AirDrop / 华为分享)平台:Windows /macOS/ Linux / Android /iOS免费:完全开源免费,无广告、无账号、不限大小特点:同 Wi‑Fi 下自动发现设备,一键发送点对...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。