gpt4 book ai didi

bash - 如何以编程方式从 docker-compose.yml 中删除服务?

转载 作者:行者123 更新时间:2023-12-05 07:26:48 27 4
gpt4 key购买 nike

我正在创建一个删除 docker 服务的 bash 脚本。我有以下 docker-compose.yml 文件:

version: '2'

services:
service_1:
image: vendor/some_image

service_2:
image: vendor/some_image
volumes:
- ../service_2/www:/var/www

service_3:
image: vendor/some_image
volumes:
- ../service_3/www:/var/www
- ../service_3/tests:/test

我想从这个文件中删除一些服务(例如 service_2)来得到这个:

version: '2'

services:
service_1:
image: vendor/some_image

service_3:
image: vendor/some_image
volumes:
- ../service_3/www:/var/www
- ../service_3/tests:/test

我该怎么做? docker-compose 是否对此有一些命令?也许我可以使用 sedawk 来完成?问题是我不能使用第三方软件,因为执行我的 bash 脚本的环境可能没有它。

更新:docker-compose.yml 文件有很多服务(>50)。所有服务都应该随时启动。但有时一些服务不再需要了。我编写了永久删除服务(停止容器、清除配置、删除源文件、删除数据库等)的脚本。服务删除过程的最后一步是在 docker-compose.yml 中删除它,因为没有必要将它保留在那里。

最佳答案

你可以只启动你命名的服务,例如启动service_1service_3你可以运行:

docker-compose up service_1 service_3

如果你想编辑 docker-compose 文件,你可以简单地在文本编辑器中编辑它并删除你不需要的服务。以编程方式,您可以使用 pythonPyYaml 库来执行此操作。

您也可以使用 awk 删除服务,但需要多做一些工作...

关于bash - 如何以编程方式从 docker-compose.yml 中删除服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54257003/

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