首页 > 解决方案 > docker-compose.yml 中另一个变量中的用户变量如何

问题描述

我有一个这样的.env文件:

PROJECT_DIR=./test_dir
SUB_DIR=$(PROJECT_DIR)/sub_dir

像这样的 docker-compose.yml文件:

version: '3.5'

services:
    service_nginx:
        image: nginx
        volumes:
            - ${SUB_DIR}:/var/www/html

但是我不能在 docker-compose.yml 文件中使用 $SUB_DIR 来获取卷,我得到了这样的错误:

ERROR: Named volume "$(PROJECT_DIR)/sub_dir:/var/www/html:rw" is used in service "service_nginx" but no declaration was found in the volumes section.

标签: dockerdocker-compose

解决方案


如下更新您的 env 文件

export PROJECT_DIR=./test_dir
export SUB_DIR=$(PROJECT_DIR)/sub_dir

然后运行以下命令来读取变量;

. ./.env

然后从同一个终端会话部署堆栈。


推荐阅读