使用多个实例扩展服务时,docker-compose.yml中的命令替换



我使用的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文件正在执行变量替换,而我需要的是命令替换

也许您想要的是tmpfs

在容器内装载一个临时文件系统。可以是单个值或列表。

你可以像这个一样简单地使用它

services:
web:
image: nginx:stable-alpine
ports:
- "8080-8130:80"
tmpfs: /run

以下是参考资料:

Docker上的tmpfs
  • Docker compose上的tmpfs
  • 相关内容

    • 没有找到相关文章

    最新更新