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

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

网页编辑3个月前 (04-28)修改聊天记录154

# 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://gaijilu.com/?id=247

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

以win10系统为例关闭病毒威胁及防火墙

以win10系统为例关闭病毒威胁及防火墙

关闭病毒威胁及防火墙,按下列步骤流程操作。第1步。在桌面点下图“开始”按钮第2步。在向上弹窗点“齿轮”按钮,然后进入控制面板第3步。在控制面板中点“更新和安全”按钮第4步。安全和中心点“病毒和威胁防护”按钮第5步。病毒和威胁防护“管理设置”按钮第6步。管理设置关闭“实时保护”按钮第7步。点左侧的防火...

4 种方法永久保存微信聊天记录,永不丢失

4 种方法永久保存微信聊天记录,永远不会丢方法一:用电脑微信备份(最靠谱、最全)登录电脑版微信,找到备份功能,把手机聊天记录完整存到电脑里。文字、图片、语音、视频、文件全都能保存,不会漏掉。备份好之后,再复制一份存到 U 盘或者移动硬盘里。就算换手机、卸载微信、手机坏掉,记录也能随时找回来。方法二:...

有哪些软件可以实现手机和电脑之间的高效数据管理?

有哪些软件可以实现手机和电脑之间的高效数据管理?

下面按「苹果生态 / 安卓+Windows / 全平台通用」三类,给你整理**真正能落地、高效不乱的手机↔电脑数据管理软件**,每款讲清楚:**能干啥、适合谁、优缺点**。 --- ## 一、iPhone + Mac(苹果生态最优) ### 1. 系统自带:隔空投送 + 访达(免费,首...

什么是科技数据?

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

如何彻底删除云端数据?

下面按 “先断同步→删云端文件→清回收站→清备份 / 版本→退出账号”,把主流云盘(OneDrive、iCloud、百度网盘、华为 / 小米等)一次性彻底删干净,防止恢复与覆盖。一、先把所有设备同步全关(必做)电脑:退出 OneDrive/iCloud/ 百度网盘,取消链接此设备,关闭自动同步。手机...

 如何在华为云盘上彻底删除云端数据?

如何在华为云盘上彻底删除云端数据?

下面按 “先关同步→网页端删文件→清空最近删除→清其他云数据→收尾防恢复”,把华为云盘彻底删干净,且不影响本地文件。一、手机端:先关闭所有同步(必做)打开 设置 → 华为账号 → 云空间。关闭 云盘、图库、备忘录、联系人 等所有同步开关。弹窗选 保留在本机,避免本地文件被删。关闭 自动备份、数据同步...

发表评论

访客

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