簡體   English   中英

擴展具有多個實例的服務時 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM