當我運行 docker-compose up 時,我收到以下錯誤,任何提示為什么我會收到此錯誤
服務“mysqldb-docker”指的是未定義的卷mysqldb:無效的撰寫專案
另外,有沒有辦法將 CLI 中的 $ENV 值傳遞給 docker-compose up ,目前我有一個 ENV 變數,它指定了我用來指定 db 名稱的 dev、uat 或 prod。除了為此明確創建一個 .env 檔案之外,是否有更好的替代方法來做到這一點
version: '3.8'
services:
mysqldb-docker:
image: '8.0.27'
restart: 'unless-stopped'
ports:
- "3309:3306"
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=reco-tracker-$ENV
volumes:
- mysqldb:/var/lib/mysql
reco-tracker-docker:
image: 'reco-tracker-docker:v1'
ports:
- "8083:8083"
environment:
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=root
- SPRING_DATASOURCE_URL="jdbc:mysql://mysqldb-docker:3309/reco-tracker-$ENV"
depends_on: [mysqldb-docker]
uj5u.com熱心網友回復:
您必須volumes像這樣在頂層定義:
version: '3.8'
services:
mysqldb-docker:
# ...
volumes:
- mysqldb:/var/lib/mysql
volumes:
mysqldb:
uj5u.com熱心網友回復:
您可以通過不給它們一個值來將環境變數從您的 shell 直接傳遞到具有“環境”鍵的服務容器
https://docs.docker.com/compose/environment-variables/#pass-environment-variables-to-containers
web:
environment:
- ENV
但是根據我的測驗,您不能在撰寫檔案中寫入 $ENV 并期望它讀取您的 env
為此,您需要以這種方式呼叫 docker-compose :
docker-compose run -e ENV web python console.py
看到這個:https : //docs.docker.com/compose/environment-variables/#set-environment-variables-with-docker-compose-run
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/395151.html
上一篇:我可以單獨啟動或停止參考特定“docker-compose.yml”的資源嗎?
下一篇:洗掉卷(如果存在)
