Есть ли способ отключить службу в файле docker-compose.yml
Я оказался в ситуации, что хочу временно отключить службу в файле docker-compose.
Конечно, я мог бы прокомментировать это, но есть ли возможность просто сказать "enabled: false"?
Ответ 1
Вы можете просто переопределить entrypoint или command, чтобы заменить указанную команду тем, что ничего не делает (/bin/true)
Это приведет к немедленному выходу контейнера, ничего не сделав.
shadi добавляет следующие комментарии в комментарии:
Если вы не хотите, чтобы служба вообще создавалась, переопределите ключ сборки, чтобы указать на Dockerfile, который имеет только:
FROM tianon/true
ENTRYPOINT ["/true"]
Ответ 2
Вы можете сделать это в файле docker-compose.override.yaml.
Этот файл автоматически читается docker-compose и объединяется с основным docker-compose.yaml.
Если вы исключили его из Git, каждый разработчик может настроить конфигурацию (с некоторыми ограничениями), не изменяя оригинальный docker-compose.yaml.
Таким образом, сервис foo может быть отключен ad-hoc путем переопределения его точки входа в docker-compose.override.yaml:
Я добавляю в сервис следующую строку, которую хочу временно отключить:
command: echo "{put your service name here} disabled"
Это все равно начинается, но ничего не делает.
Ответ 4
Невозможно отключить службу, определенную в Docker, создать файл yaml.
Предложение VonC является хорошим обходным решением
Пожалуйста, см. Ниже документацию документации док-станции для доступных опций
https://docs.docker.com/compose/compose-file/
Ответ 5
Я бы масштабировал сервис до 0 реплик с помощью:
развернуть: Реплики: 0