欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在Docker中配置和管理環(huán)境變量的詳細指南

 更新時間:2025年06月20日 10:42:28   作者:思靜魚  
在 Docker 中,配置和管理環(huán)境變量是非常常見的需求,用于傳遞配置參數(shù)、控制服務(wù)行為、實現(xiàn)環(huán)境隔離(如開發(fā)/測試/生產(chǎn)),下面從鏡像構(gòu)建、容器運行、Docker Compose、.env 文件等角度全面講解,需要的朋友可以參考下

一、在 Dockerfile 中設(shè)置環(huán)境變量

使用 ENV 指令設(shè)置環(huán)境變量:

FROM alpine
ENV TZ=Asia/Shanghai
ENV LANG=C.UTF-8
ENV APP_ENV=production

這些變量在容器構(gòu)建時和運行時都可用。

二、在 docker run 時傳入環(huán)境變量

1. 使用 -e 傳遞單個變量:

docker run -e APP_ENV=dev -e TZ=Asia/Shanghai my-image

2. 使用 --env-file 加載多個變量:

創(chuàng)建 .env 文件(每行一個):

APP_ENV=dev
TZ=Asia/Shanghai
DB_HOST=127.0.0.1
DB_USER=root

然后運行容器時加載:

docker run --env-file .env my-image

三、在 docker-compose.yml 中配置環(huán)境變量

方法 1:直接在 environment: 中配置

services:
  app:
    image: my-app
    environment:
      - APP_ENV=dev
      - DB_HOST=localhost

方法 2:引用 .env 文件(自動讀取)

.env 文件內(nèi)容:

APP_ENV=production
DB_HOST=db.local

Compose 文件中直接使用 ${VAR}

services:
  app:
    image: my-app
    environment:
      - APP_ENV=${APP_ENV}
      - DB_HOST=${DB_HOST}

注意: Compose 默認會自動讀取同目錄下的 .env 文件(無需額外指定)。

四、容器內(nèi)部如何讀取環(huán)境變量?

進入容器后使用:

docker exec -it my-container sh

# 查看環(huán)境變量
env

# 讀取單個變量
echo $APP_ENV

五、注意事項與最佳實踐

問題建議
敏感信息(如密碼)避免寫在 Dockerfile,建議運行時注入或用 Secret 管理
多環(huán)境配置使用 .env.dev, .env.prod 區(qū)分不同環(huán)境
配置優(yōu)先級docker run -e > ENV in Dockerfile
修改變量重啟容器變量更改后必須重啟容器才生效

六、查看和調(diào)試容器中的環(huán)境變量

查看運行中容器的環(huán)境變量:

docker inspect <容器名> | grep -A 10 "Env"

示例輸出:

"Env": [
    "APP_ENV=dev",
    "TZ=Asia/Shanghai"
]

七、環(huán)境變量注入 Java 程序(示例)

在 Spring Boot 項目中配置:

@Value("${APP_ENV}")
private String appEnv;

啟動參數(shù)中注入:

docker run -e APP_ENV=dev my-spring-app

總結(jié)

場景用法
Dockerfile 中寫死變量ENV KEY=value
啟動時傳變量-e KEY=value or --env-file
Compose 配置變量environment: + .env 文件
動態(tài)配置/安全注入推薦外部傳入,不寫死在鏡像中

如果你需要:

  • 在 Docker 容器中讀取數(shù)據(jù)庫配置、環(huán)境標識等,
  • 使用 .env 文件多環(huán)境切換,
  • 或你想讓 Java 程序讀取環(huán)境變量作為配置

到此這篇關(guān)于在Docker中配置和管理環(huán)境變量的詳細指南的文章就介紹到這了,更多相關(guān)Docker配置和管理環(huán)境變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論