![](/img/trans.png)
[英]Why does variables substitution not work when using multiple env_files in docker-compose.yml?
[英]Command substitution in docker-compose.yml when scaling a service with multiple instances
我正在使用的 docker-compose.yml 文件如下:
services:
web:
image: nginx:stable-alpine
ports:
- "8080-8130:80"
volumes:
- ${TEMPDIR}:/run
我使用以下命令启动 20 个容器:
TEMPDIR=`mktemp -d` docker-compose up -d --scale web=20
所有容器都可以正常启动,但是它们都在 /run 上安装了相同的临时卷,而我需要每个正在运行的容器都有一个唯一的临时卷。 我知道问题在于上面的 yml 文件正在执行变量替换,而我需要的是命令替换,但我在官方 参考中找不到任何方法,特别是在启动同一 docker 图像的多个实例时。 有没有办法解决这个问题?
也许您正在寻找的是tmpfs
。
在容器内挂载一个临时文件系统。 可以是单个值或列表。
你可以像这样简单地使用它
services:
web:
image: nginx:stable-alpine
ports:
- "8080-8130:80"
tmpfs: /run
以下是参考资料:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.