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