[英]docker-compose doesn't detect .env file with -f option
我正在使用 makefile 來構建我的項目,這是我的文件層次結構:
➜ Inception git:(main) ✗ ls -l *
-rw-r--r-- 1 dcavalei dcavalei 258 Jan 6 16:34 Makefile
srcs:
total 28
drwxr-xr-x 5 dcavalei dcavalei 4096 Jan 6 11:45 .
drwxr-xr-x 7 dcavalei dcavalei 4096 Jan 6 17:21 ..
-rw-r--r-- 1 dcavalei dcavalei 631 Jan 6 17:02 docker-compose.yml
-rw-r--r-- 1 dcavalei dcavalei 123 Jan 6 15:49 .env
drwxr-xr-x 3 dcavalei dcavalei 4096 Jan 6 11:23 mariadb
drwxr-xr-x 2 dcavalei dcavalei 4096 Jan 6 11:45 nginx
drwxr-xr-x 2 dcavalei dcavalei 4096 Jan 5 15:21 wordpress
基本上當我在srcs
目錄中鍵入docker-compose up
,它按預期工作,但如果我嘗試:
docker-compose -f./srcs/docker-compose.yml up
當我在我的項目根目錄時,它不會讀取我的.env
文件我收到以下警告:
➜ Inception git:(main) ✗ docker-compose -f ./srcs/docker-compose.yml up
WARNING: The MYSQL_ROOT_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The MYSQL_USER variable is not set. Defaulting to a blank string.
WARNING: The MYSQL_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The MYSQL_WP_NAME variable is not set. Defaulting to a blank string.
在一些舊的 docker-compose 中,例如docker-compose version 1.24.0, build 0aa59064
。 compose 會將project-directory
設置為運行docker-compose
的當前文件夾。 行為更改從+v1.28
開始。
所以,對你來說,你有 3 個選項,你可以選擇任何一個。
將docker-compose
升級到+v1.28
或最新版本。
將.env
移動到您運行docker-compose
的文件夾
使用--project-directory
強制使用備用工作目錄,如下所示:
碼頭工人/碼頭工人-compose.yaml:
version: "3"
services:
web:
image: "webapp:${TAG}"
碼頭工人/.env:
TAG=3
執行:
$ ls
docker
$ docker-compose --project-directory docker -f docker/docker-compose.yaml config
services:
web:
image: webapp:3
version: '3.0'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.