我们的团队是运行微服务生态系统的新手,我很好奇一个人如何实现有条件地从compose或另一个大小写可变的脚本中加载docker容器。

一个示例用例就是。
进行依赖于一些不同服务的前端开发。我们将标记那些DockerA / D

依赖矩阵

Feature1-DockerA

Feature2-DockerA和DockerB

Feature3-DockerA和DockerD

我希望能够运行以下内容
docker-compose --feature1
要么
magic-script -service DockerA -service DockerB
基本上,我想运行命令有条件地启动我需要的API。

我已经知道使用各种模拟服务器进行UI开发,但是要避免使用它们。

关于如何配置此的任何想法?

最佳答案

您可以在创建所有服务后停止所有服务,然后有选择地逐个启动它们。例如。:

version: "3"

services:
    web1:
        image: nginx
        ports:
            - "80:80"
    web2:
        image: nginx
        ports:
            - "8080:80"
docker-compose up -d
    Creating network "composenginx_default" with the default driver
    Creating composenginx_web2_1 ... done
    Creating composenginx_web1_1 ... done
docker-compose stop
    Stopping composenginx_web1_1 ... done
    Stopping composenginx_web2_1 ... done

现在,任何服务都可以使用,例如
docker-compose start web2
    Starting web2 ... done

另外,使用链接服务,可以使用scale命令更改正在运行的服务的数量(可以在不重新启动的情况下添加容器)。

关于docker - docker-compose有条件地构建容器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48347354/

10-14 18:58