我们的团队是运行微服务生态系统的新手,我很好奇一个人如何实现有条件地从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/