如何在Docker Compose中为每个容器创建单独的卷

时间:2020-07-03 03:36:25

标签: docker docker-compose mounted-volumes

我已经创建了一个docker映像,我想为其运行多个容器。该docker映像依赖于几件事,所有容器都将保持不变,但唯一的不同将是容器的配置。

version: '2.4'

services:
    s1:
        image: testdockerimg:latest
        volumes:
            - /home/andrew/Documents/CVAI/configs/s1config.json:/home/andrew/Documents/CVAI/configs/config.json
            - /home/andrew/Documents/CVAI:/home/andrew/Documents/CVAI/
        restart: always
        mem_limit: 2g

    s2:
        image: testdockerimg:latest
        volumes:
            - /home/andrew/Documents/CVAI/configs/s2config.json:/home/andrew/Documents/CVAI/configs/config.json
            - /home/andrew/Documents/CVAI:/home/andrew/Documents/CVAI/
        restart: always
        mem_limit: 2g

在上面的文件中,您可以看到我为s1config s2config个容器提供了s1s2,但是其余的一切都保持不变,这就是{两个容器的{1}}体积相同。因此,泊坞窗在两个容器之间共享卷,因此所有数据在容器之间混合并且没有分离。

有什么方法可以在多个容器之间分隔卷?? 我不想为此创建多个docker。请帮忙。谢谢

编辑

更新的docker-compose文件:

/home/andrew/Documents/CVAI

1 个答案:

答案 0 :(得分:1)

在主机上,每个容器应具有自己的体积。它们可以以相同的路径安装在容器中。每个容器可以使用相同的映像,并且将以相同的名称在主机上看到其专用卷。