具有Docker Compose中可变主机位置的卷

我正在尝试与docker容器共享我的mysql数据目录。 目标是能够在主机上使用环境variables来configuration共享文件夹位置。

使用docker compose,我的docker-compose.yml文件的相关部分如下所示:

data: image: yappabe/data volumes: - ${MYSQL_DATA_DIR}:/var/lib/mysql tty: true 

运行容器时,我得到这个错误:

 Creating docker_data_1 ERROR: . includes invalid characters for a local volume name, only [a-zA-Z0-9][a-zA-Z0-9_.-] are allowed 

在terminal运行echo $MYSQL_DATA_DIR返回预期的结果。

从这个问题的评论 ,你需要在你docker-compose.yml文件中声明环境variables:

 data: image: yappabe/data environment: - MYSQL_DATA_DIR 

OP jdp确认一个卷path( 如这里所支持/说明的 )可以使用环境variables,如${MYSQL_DATA_DIR}:/var/lib/mysql