在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"
語法格式:
在服務(wù)定義部分,可以使用environment
關(guān)鍵字來設(shè)置環(huán)境變量。
例如:
解釋說明:
- 這里定義了一個(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ù)這些變量的值來調(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}
解釋說明:
.env
文件用于存儲(chǔ)環(huán)境變量的鍵值對,這種方式使得環(huán)境變量的管理更加方便,特別是在有多個(gè)環(huán)境變量或者環(huán)境變量的值可能會(huì)經(jīng)常變化的情況下。- 在
docker - compose.yml
文件中,通過${變量名}
的形式來引用.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
用于開發(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
這種方式在通過命令行啟動(dòng)docker - compose
時(shí)使用。
例如,在開發(fā)環(huán)境下啟動(dòng):
或者在生產(chǎn)環(huán)境下啟動(dòng):
解釋說明:
- 通過指定不同的環(huán)境文件,可以輕松地在不同的部署環(huán)境(如開發(fā)、測試、生產(chǎn))之間切換。
- 每個(gè)環(huán)境文件可以包含特定于該環(huán)境的環(huán)境變量設(shè)置,使得應(yīng)用程序能夠根據(jù)所處的環(huán)境來調(diào)整自己的行為。
- 例如,在開發(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)配置過程
- docker-compose配置并部署redis服務(wù)的實(shí)現(xiàn)
- 詳解Docker Compose配置文件參數(shù)
- Docker compose配置文件寫法及命令使用示例
- docker-compose安裝yml文件配置方式
- docker compose 一鍵部署分布式配置中心Apollo的過程詳解
- docker-compose部署配置jenkins的詳細(xì)教程
- Docker Compose 配置指南小結(jié)
相關(guān)文章
Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式
這篇文章主要介紹了Docker開啟遠(yuǎn)程訪問的實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Docker之修改/etc/default/docker 里的DOCKER_OPTS參數(shù)不生效問題
這篇文章主要介紹了Docker之修改/etc/default/docker 里的DOCKER_OPTS參數(shù)不生效問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09Docker安裝wordpress并配置數(shù)據(jù)庫超詳細(xì)介紹版
安裝WordPress是一項(xiàng)常見的任務(wù),使用Docker可以使這個(gè)過程更加簡單和可靠,下面這篇文章主要給大家介紹了關(guān)于Docker安裝wordpress并配置數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下2023-11-11Docker 運(yùn)行多個(gè)Springboot的詳細(xì)教程
這篇文章主要介紹了Docker 運(yùn)行多個(gè)Springboot的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12docker已啟動(dòng)容器修改添加端口映射的兩種方法
最近工作中遇到一個(gè)問題,docker容器啟動(dòng)后怎么修改端口映射?通過查找相關(guān)資料解決了,這篇文章主要給大家介紹了關(guān)于docker已啟動(dòng)容器修改添加端口映射的兩種方法,需要的朋友可以參考下2022-08-08檢查Docker容器網(wǎng)絡(luò)連接性的實(shí)現(xiàn)方法
這篇文章主要介紹了檢查Docker容器網(wǎng)絡(luò)連接性的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04