国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

詳解Docker Compose 中可用的環境變量問題

2024-09-01 13:56:13
字體:
來源:轉載
供稿:網友

Compose 的多個部分在某種情況下處理環境變量。本教程可以幫助你找到所需的信息。

1. 替換Compose文件中的環境變量

可以使用 shell 中的環境變量填充 Compose 文件中的值:

web: image: "webapp:${TAG}"

更多信息請參考 Compose 文件手冊中的 Variable substitution 章節。

2. 設置容器中的環境變量

可以通過 environment 關鍵字設置服務容器中的環境變量,就跟使用 docker run -e VARIABLE=VALUE ... 一樣:

web: environment: - DEBUG=1

3. 將環境變量傳遞到容器

在使用 environment 關鍵字時不賦值,就可以將 shell 中的環境變量傳遞給服務容器,就跟使用 docker run -e VARIABLE ... 一樣:

web: environment: - DEBUG

容器中的 DEBUG 變量的值從運行 Compose 的 shell 中的同名變量中獲取。

4. “env_file”配置選項

可以通過 env_file 命令使用外部文件將多個環境變量傳遞到服務容器,就跟使用 docker run --env-file=FILE ... 一樣:

web: env_file: - web-variables.env

5. 使用 ‘docker-compose run'設置環境變量

就像 docker run -e 命令一樣,可以使用 docker-compose run -e 設置一次性容器上的環境變量:

docker-compose run -e DEBUG=1 web python console.py

也可以通過從 shell 中傳遞一個變量,而不是直接賦值:

docker-compose run -e DEBUG web python console.py

容器中的 DEBUG 變量的值從運行 Compose 的 shell 中的同名變量中獲取。

6. “.env”文件

可以在名為.env 的環境文件 中為 Compose 文件中引用的任何環境變量設置默認值,或者用于配置 Compose:

$ cat .envTAG=v1.5$ cat docker-compose.ymlversion: '3'services: web: image: "webapp:${TAG}"

運行 docker-compose up 時,上面定義的 web 服務使用 webapp:v1.5 鏡像。可以通過config 命令 將應用程序的配置信息打印到終端來驗證:

$ docker-compose configversion: '3'services: web: image: 'webapp:v1.5'

shell 中的值優先于 .env 文件中指定的值。如果在 shell 中將 TAG 設置為不同的值,則鏡像中將使用該值:

$ export TAG=v2.0$ docker-compose configversion: '3'services: web: image: 'webapp:v2.0'

當在多個文件中設置相同的環境變量時,以下是 Compose 用于選擇要使用的值的優先級:

  • Compose 文件
  • Environment 文件
  • Dockerfile
  • 變量未定義

在下面的例子中,我們在 Environment 文件和 Compose 文件上設置了相同的環境變量:

$ cat ./Docker/api/api.envNODE_ENV=test$ cat docker-compose.ymlversion: '3'services: api: image: 'node:6-alpine' env_file:  - ./Docker/api/api.env environment:  - NODE_ENV=production

運行容器時,在 Compose 文件中定義的環境變量優先。

$ docker-compose exec api nodeprocess.env.NODE_ENV'production'

只有在 environment 或 env_file 沒有 Docker Compose 條目時,Dockerfile 中的任何 ARG 或 ENV 設置才會評估(evaluate)。

NodeJS 容器的細節

如果你有腳本的 package.json 條目像 NODE_ENV=test node server.js 一樣啟動,那么這將覆蓋 docker-compose.yml 文件中的任何設置。

7. 使用環境變量配置 Compose

有幾個環境變量可用來配置 Docker Compose 命令行行為。它們以 COMPOSE_ 或 DOCKER_ 開頭,并記錄在CLI 環境變量中。

8. 通過 link 創建環境變量

在第一版 Compose 文件中使用 links 選項時,會為每個鏈接創建環境變量。它們記錄在 Link環境變量參考 中。

但是,這些變量已被棄用。link 改為為主機創建別名。

原文地址

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洞口县| 枞阳县| 东莞市| 南京市| 曲松县| 宜良县| 津市市| 平定县| 宜阳县| 呼玛县| 井陉县| 台东县| 阳朔县| 敦化市| 辛集市| 临武县| 齐齐哈尔市| 清流县| 鹤峰县| 双牌县| 荆门市| 岱山县| 繁昌县| 明光市| 利辛县| 铜梁县| 池州市| 衡阳县| 丹巴县| 光山县| 万年县| 海林市| 东乌珠穆沁旗| 义马市| 辰溪县| 天峻县| 白银市| 翁牛特旗| 德化县| 大足县| 莆田市|