gpt4 book ai didi

Docker swarm 有一些共享卷

转载 作者:行者123 更新时间:2023-12-02 21:15:27 24 4
gpt4 key购买 nike

我将尝试描述我想要的功能:
我正在运行 docker swarm超过 docker-compose在 docker-compose 中,我有服务,为简单起见,我们称之为 A , B , C .

假设 C服务需要可以访问包含共享代码模块的服务 AB .

我的问题是:
1.是否每个需要访问共享卷的服务都必须挂载C服务到它自己的本地文件夹,(使用下面的卷部分)或者可以在不安装/复制到本地容器中的路径的情况下访问它。

  • 在 docker swarm 中,可以是 2 个服务实例 AB将驻留在计算机中 X , 而服务 C将驻留在计算机上 Y .
    是不是因为服务都维护在同一个docker下swarm stack ,他们将毫无问题地与服务进行通信 C .

  • 如果不是,它应该实现哪些定义?
    我的结构是这样的:
    version: "3.4"

    services:
    A:
    build: .
    volumes:
    - C:/usr/src/C
    depends_on:
    - C


    B:
    build: .
    volumes:
    - C:/usr/src/C

    depends_on:
    - C

    C:
    image: repository.com/C:1.0.0
    volumes:
    - C:/shared_code

    volumes:
    C:

    最佳答案

    如果你分享的是代码,你应该将它构建到实际的 Docker 镜像中,而不是尝试为此使用卷。

    你会遇到两个大问题。一个是在多主机安装中正确共享卷。第二个是一个更长期的问题:如果共享代码发生变化,你会怎么做?您不能只使用共享代码重新部署 C 模块,因为保存代码的卷已经存在;您需要单独更新卷中的代码,重新启动依赖服务,并希望它们都能正常工作。实际上,将代码烘焙到图像中可以在尝试部署之前测试完整的设置。

    关于Docker swarm 有一些共享卷,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51268853/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com