Нет. Docker Compose - это просто оболочка вокруг docker run
, а срок службы службы Compose - это время жизни ее контейнера (и точки входа в контейнер), не больше и не меньше.
Существует стандартный шаблон дляиспользуйте ENTRYPOINT
образа для начальной настройки (дождитесь готовности базы данных, запустите миграцию и т. д.), а затем запустите CMD
образа. В принципе, вы можете использовать этот же шаблон для очистки после выхода CMD
. В этом нет ничего технически неправильного (если не считать некоторых проблем с обработкой сигналов), просто это не так часто: обычно нужно очистить файловую систему контейнера.
#!/bin/sh
# I am docker-entrypoint.sh
# I am run with the CMD as arguments
# ... do first-time setup ...
# Run the main container process
# Usually:
# exec "$@"
# But if you need to do things afterwards:
"$@"
RC="$?"
# ... do cleanup ...
exit "$RC"