TL/DR: 我能在docker-compose的environment
指令中使用.env
文件变量吗?
我有一个Dockerfile
,它使用ARG
变量基于环境变量来复制文件。
在我的docker-compose
中,我想运行两个版本的此容器,具有不同的配置。
是否有一种方法可以在单个.env
文件中设置不同的文件路径并建立两次,就像下面的例子一样?
还是有更聪明的方法来完成这个任务?
/
/.env
/docker-compose.yml
/app
/app/Dockerfile
/version1/data
/version2/data
/.env
VERSION_1_PATH=./version1/data
VERSION_2_PATH=./version2/data
/app/Dockerfile
FROM node:latest
ARG APP_PATH # pull this environment variable
COPY $APP_PATH /var/app/ # use it to copy source to the same generic destination
/docker-compose.yml
version: "3"
services:
version1:
build: ./app
container_name: version1
env_file:
- '.env'
environment:
APP_PATH: ${VERSION_1_PATH}
version2:
build: ./app
container_name: version2
env_file:
- '.env'
environment:
APP_PATH: ${VERSION_2_PATH}
./configure
标志),还是运行时配置? - David Maze