在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)境變量。
例如:
解釋說明:
- 這里定義了一個名為
web的服務(wù),它使用my - web - app:v1.0鏡像。 environment下的每一行都定義了一個環(huán)境變量。DEBUG = false設(shè)置了一個名為DEBUG的布爾型環(huán)境變量為false,API_KEY = "abcdef123456"設(shè)置了一個名為API_KEY的字符串環(huán)境變量,其值為abcdef123456。- 這些環(huán)境變量在容器啟動后,會被容器內(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)建一個.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文件用于存儲環(huán)境變量的鍵值對,這種方式使得環(huán)境變量的管理更加方便,特別是在有多個環(huán)境變量或者環(huán)境變量的值可能會經(jīng)常變化的情況下。- 在
docker - compose.yml文件中,通過${變量名}的形式來引用.env文件中的環(huán)境變量。 - 例如,
DB_USER = ${DB_USER}會將容器內(nèi)的DB_USER環(huán)境變量的值設(shè)置為.env文件中DB_USER的值(在這里是myuser)。 - 這樣,當(dāng)需要修改環(huán)境變量的值時(shí),只需要修改
.env文件,而不需要在docker - compose.yml文件中逐個修改。
3.使用多個環(huán)境文件(用于不同的部署環(huán)境)
# development.env DEBUG = true APP_PORT = 3000
# production.env DEBUG = false APP_PORT = 80
創(chuàng)建多個環(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
這種方式在通過命令行啟動docker - compose時(shí)使用。
例如,在開發(fā)環(huán)境下啟動:
或者在生產(chǎn)環(huán)境下啟動:
解釋說明:
- 通過指定不同的環(huán)境文件,可以輕松地在不同的部署環(huán)境(如開發(fā)、測試、生產(chǎn))之間切換。
- 每個環(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é)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- docker常用容器啟動docker-compose.yml配置文件使用
- 關(guān)于immich?docker-compose.yml配置文件詳解
- docker-compose.yml參數(shù)的用法(配置文件)
- 使用docker?compose快速配置一組容器服務(wù)詳解
- Springboot使用docker-compose實(shí)現(xiàn)動態(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安裝MySQL鏡像實(shí)戰(zhàn)分享
這篇文章主要給大家分享了Docker安裝MySQL鏡像實(shí)戰(zhàn),讓大家更深入的了解容器的使用場景,文章通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
關(guān)于構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像問題
這篇文章主要介紹了構(gòu)建aarch64環(huán)境Mysql8.0的Docker鏡像,需要的朋友可以參考下2022-04-04
docker部署單機(jī)版doris的實(shí)現(xiàn)步驟(無坑)
本文主要介紹了docker部署單機(jī)版doris的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-08-08
Docker中查看kkFileView版本的五種實(shí)用方法全解析
本文給大家介紹在Docker環(huán)境中查看kkFileView服務(wù)版本的五種方法,包括進(jìn)入容器查看、解析日志文件、檢查容器內(nèi)文件、利用dockerinspect命令和查詢API,每種方法的步驟和適用場景都有詳細(xì)說明,幫助用戶快速準(zhǔn)確地獲取版本信息,感興趣的朋友跟隨小編一起看看吧2026-04-04
docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn)
本文主要介紹了docker可視化管理工具portainer忘記密碼重置教程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08

