我有一個 .env 檔案,我試圖在 Docker Compose 檔案中使用它來傳遞給容器,以便在 Dockerfile 中定義的入口點腳本中使用。
我有以下有效的 Dockerfile(分布在兩個檔案中,一個覆寫)。該.env.dev檔案與 docker compose 檔案位于同一目錄中。環境變數值沒有傳遞到容器。當我添加“=${RUN_MIGRATIONS_ON_START}”時,變數值為空。如果我不這樣做,那么變數甚至不會在容器中設定。
Docker 撰寫檔案:
主要 docker 撰寫檔案:
version: '3.4'
services:
web:
build
context: .
覆寫 docker compose 檔案:
version: '3.4'
services:
web:
environment:
- RUN_MIGRATIONS_ON_START=${RUN_MIGRATIONS_ON_START}
- WS_SCHEME=${WS_SCHEME}
env_file:
- .env.dev
uj5u.com熱心網友回復:
解決方案
docker-compose.override.yml
version: '3.4'
services:
web:
env_file:
- .env.dev
.env.dev
RUN_MIGRATIONS_ON_START=FOO
WS_SCHEME=BAR
為什么
environment:
- X=${Y} # Y is a variable from the local shell environment, not from .env
檔案中有詳細描述
您的配置選項可以包含環境變數。Compose 使用來自運行 docker-compose 的 shell 環境的變數值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/326491.html
上一篇:Bash-連接到Docker容器并在redis-cli中執行命令
下一篇:如何連續復制檔案到docker
