使用案例
它docker-compose.yml定义了代表完整应用程序堆栈的多个服务。在开发模式下,我们希望动态排除某些服务,以便我们可以从 IDE 运行它们。
从 Docker compose 1.28 开始,可以将配置文件分配给此处记录的服务,但据我所知,它只允许指定应启动哪些服务,而不是应排除哪些服务。
我可以想象的另一种方法是将“排他性”服务分成自己的docker-compose.yml文件,但所有这些对我来说似乎有点乏味。
您有更好的方法来排除服务吗?
ane*_*yte 10
看来我们都忽略了关于个人资料的一个非常重要的事情,那就是:
没有
profiles属性的服务将始终启用
因此,如果您docker-compose up使用这样的文件运行:
version: "3.9"
services:
database:
image: debian:buster
command: echo database
frontend:
image: debian:buster
command: echo frontend
profiles: ['frontend']
backend:
image: debian:buster
command: echo backend
profiles: ['backend']
Run Code Online (Sandbox Code Playgroud)
它只会启动database容器。如果你运行它,docker-compose --profile backend up它将带来database和backend容器。要启动您需要的所有内容docker-compose --profile backend --profile frontend up,或多次使用单个配置文件。
在我看来,这是不运行某些容器的最佳方法docker-compose。您只需用配置文件标记它们即可。我建议您也给个人资料参考第二次机会。除了一些很好的示例之外,它还解释了该功能如何与服务依赖项交互。
| 归档时间: |
|
| 查看次数: |
3405 次 |
| 最近记录: |