我们的团队是运营微服务生态系统的新手,我很好奇如何从compose或其他可变的脚本中有条件地加载docker容器。
一个用例示例。 做前端开发依赖于一些不同的服务。我们将标记那些DockerA / D
依赖矩阵
Feature1 - DockerA
Feature2 - DockerA和DockerB
Feature3 - DockerA和DockerD
我希望能够运行类似以下的内容
docker-compose --feature1
或
magic-script -service DockerA -service DockerB
基本上,我想运行命令来有条件地启动我需要的API。
我已经知道使用各种模拟服务器进行UI开发,但是想要避免使用它们。
关于如何配置这个的想法?
答案 0 :(得分:5)
您可以在创建它们之后停止所有服务,然后逐个选择性地启动它们。 E.g:
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
命令来更改正在运行的服务的数量(可以在不重新启动的情况下添加容器)。