Я создаю bash-скрипт, который удаляет сервис Docker.
У меня есть следующий файл 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
есть какая-то команда для этого?
Может быть, я могу сделать это, используя sed
или awk
? Проблема в том, что я не могу использовать стороннее программное обеспечение, потому что среда, в которой будет выполняться мой bash-скрипт, может не иметь его.
UPD:
Файл docker-compose.yml
имеет много сервисов (> 50). Все услуги должны быть в любое время. Но иногда какой-то сервис больше не требуется. Я пишу скрипт, который навсегда удаляет сервис (остановка контейнера, очистка конфигов, удаление исходных файлов, удаление баз данных и т. Д.). Последним этапом процесса удаления службы является удаление его в docker-compose.yml
, поскольку хранить его там не нужно.