![](/img/trans.png)
[英]Variable substitution in docker-compose.yml file when running docker-compose with sudo
[英]Variable substitution in docker-compose .yml file
我试图将变量替换用于卷声明。 这导致了错误的错误:
ERROR: for php Cannot create container for service php: create .: volume name is too short, names should be at least two alphanumeric characters
Docker的Compose文件:
services:
php:
image: php5-apache-composer
volumes:
- ${DIR}:/var/www/html
卷声明是否支持变量替换? 我可以将环境变量用于除此以外的任何其他声明。
我已经运行了
export DIR="/var/www/html"
而sudo docker-compose run php -e DIR="/var/www/html"
sudo
为其运行的命令创建了一个不同的环境, DIR
变量在那里不存在。 您可以使用简单的env
命令进行检查:
$ export USER_VAR=test
$ sudo env | grep USER_VAR
$
要使其正常工作,您需要执行以下任一操作:
.env
然后让.env
docker-compose
从中获取变量。 sudo -s
运行一个shell,然后以root用户身份运行两个命令。 sudo /bin/sh -c "DIR=/var/www/html docker-compose run php -e DIR=/var/www/html"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.