在docker-compose.yml文件中配置容器的環(huán)境變量方式
1.直接設(shè)置環(huán)境變量
version: "3"
services:
web:
image: my - web - app:v1.0
environment:
- DEBUG = false
- API_KEY = "abcdef123456"語(yǔ)法格式:
在服務(wù)定義部分,可以使用environment關(guān)鍵字來(lái)設(shè)置環(huán)境變量。
例如:
解釋說(shuō)明:
- 這里定義了一個(gè)名為
web的服務(wù),它使用my - web - app:v1.0鏡像。 environment下的每一行都定義了一個(gè)環(huán)境變量。DEBUG = false設(shè)置了一個(gè)名為DEBUG的布爾型環(huán)境變量為false,API_KEY = "abcdef123456"設(shè)置了一個(gè)名為API_KEY的字符串環(huán)境變量,其值為abcdef123456。- 這些環(huán)境變量在容器啟動(dòng)后,會(huì)被容器內(nèi)的應(yīng)用程序讀取并使用,應(yīng)用程序可以根據(jù)這些變量的值來(lái)調(diào)整自己的行為,比如在
DEBUG = false時(shí)關(guān)閉調(diào)試模式。
2.從文件中讀取環(huán)境變量(.env文件)
DB_USER = myuser DB_PASSWORD = mypassword DB_HOST = database - service DB_PORT = 3306 DB_NAME = mydatabase
創(chuàng)建.env文件:
在docker - compose.yml文件所在的目錄下創(chuàng)建一個(gè).env文件。
例如:
在docker - compose.yml文件中引用:
version: "3"
services:
web:
image: my - web - app:v1.0
environment:
- DB_USER = ${DB_USER}
- DB_PASSWORD = ${DB_PASSWORD}
- DB_HOST = ${DB_HOST}
- DB_PORT = ${DB_PORT}
- DB_NAME = ${DB_NAME}解釋說(shuō)明:
.env文件用于存儲(chǔ)環(huán)境變量的鍵值對(duì),這種方式使得環(huán)境變量的管理更加方便,特別是在有多個(gè)環(huán)境變量或者環(huán)境變量的值可能會(huì)經(jīng)常變化的情況下。- 在
docker - compose.yml文件中,通過(guò)${變量名}的形式來(lái)引用.env文件中的環(huán)境變量。 - 例如,
DB_USER = ${DB_USER}會(huì)將容器內(nèi)的DB_USER環(huán)境變量的值設(shè)置為.env文件中DB_USER的值(在這里是myuser)。 - 這樣,當(dāng)需要修改環(huán)境變量的值時(shí),只需要修改
.env文件,而不需要在docker - compose.yml文件中逐個(gè)修改。
3.使用多個(gè)環(huán)境文件(用于不同的部署環(huán)境)
# development.env DEBUG = true APP_PORT = 3000
# production.env DEBUG = false APP_PORT = 80
創(chuàng)建多個(gè)環(huán)境文件:
例如,創(chuàng)建development.env用于開(kāi)發(fā)環(huán)境,production.env用于生產(chǎn)環(huán)境。
在docker - compose.yml文件中指定環(huán)境文件(使用--env - file選項(xiàng)):
docker - compose --env - file development.env up -d docker - compose --env - file production.env up -d
這種方式在通過(guò)命令行啟動(dòng)docker - compose時(shí)使用。
例如,在開(kāi)發(fā)環(huán)境下啟動(dòng):
或者在生產(chǎn)環(huán)境下啟動(dòng):
解釋說(shuō)明:
- 通過(guò)指定不同的環(huán)境文件,可以輕松地在不同的部署環(huán)境(如開(kāi)發(fā)、測(cè)試、生產(chǎn))之間切換。
- 每個(gè)環(huán)境文件可以包含特定于該環(huán)境的環(huán)境變量設(shè)置,使得應(yīng)用程序能夠根據(jù)所處的環(huán)境來(lái)調(diào)整自己的行為。
- 例如,在開(kāi)發(fā)環(huán)境中可以將
DEBUG設(shè)置為true以方便調(diào)試,而在生產(chǎn)環(huán)境中將其設(shè)置為false以提高性能和安全性。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- docker常用容器啟動(dòng)docker-compose.yml配置文件使用
- 關(guān)于immich?docker-compose.yml配置文件詳解
- docker-compose.yml參數(shù)的用法(配置文件)
- 使用docker?compose快速配置一組容器服務(wù)詳解
- Springboot使用docker-compose實(shí)現(xiàn)動(dòng)態(tài)配置過(guò)程
- docker-compose配置并部署redis服務(wù)的實(shí)現(xiàn)
- 詳解Docker Compose配置文件參數(shù)
- Docker compose配置文件寫法及命令使用示例
- docker-compose安裝yml文件配置方式
- docker compose 一鍵部署分布式配置中心Apollo的過(guò)程詳解
- docker-compose部署配置jenkins的詳細(xì)教程
- Docker Compose 配置指南小結(jié)
相關(guān)文章
Docker安裝MySQL鏡像實(shí)戰(zhàn)分享
這篇文章主要給大家分享了Docker安裝MySQL鏡像實(shí)戰(zhàn),讓大家更深入的了解容器的使用場(chǎng)景,文章通過(guò)圖文結(jié)合的方式給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
關(guān)于構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像問(wèn)題
這篇文章主要介紹了構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像,需要的朋友可以參考下2022-04-04
docker部署單機(jī)版doris的實(shí)現(xiàn)步驟(無(wú)坑)
本文主要介紹了docker部署單機(jī)版doris的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-08-08
從零開(kāi)始構(gòu)建docker基礎(chǔ)鏡像的方法
這篇文章主要介紹了從零開(kāi)始構(gòu)建docker基礎(chǔ)鏡像的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
docker打包Python環(huán)境的過(guò)程詳解
這篇文章主要介紹了docker打包Python環(huán)境過(guò)程,準(zhǔn)備工作需要大家復(fù)制python程序啟動(dòng)程序,具體操作流程跟隨小編一起看看吧2021-08-08
Docker中查看kkFileView版本的五種實(shí)用方法全解析
本文給大家介紹在Docker環(huán)境中查看kkFileView服務(wù)版本的五種方法,包括進(jìn)入容器查看、解析日志文件、檢查容器內(nèi)文件、利用dockerinspect命令和查詢API,每種方法的步驟和適用場(chǎng)景都有詳細(xì)說(shuō)明,幫助用戶快速準(zhǔn)確地獲取版本信息,感興趣的朋友跟隨小編一起看看吧2026-04-04
docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn)
本文主要介紹了docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08

