Две вещи, которые являются обычной практикой:
Регистрация в файле docker-compose.yml
с исходным кодом приложения (часто в каталоге root хранилища рядом с Dockerfile
)
Не делить базы данных между приложениями (контейнеры упрощают запуск второго)
Обе эти вещи предлагают два отдельных файла docker-compose.yml
.
Один файл docker-compose.yml
может иметь смысл в ситуациях, когда у вас есть несколько взаимодействующих сервисов, поэтому не имеет смысла запускать один без другого. (У вас есть служба API REST, но у нее есть связанный Nginx интерфейс и специализированная служба кэширования, которая, например, объединяет все go.) Вызов из одной Docker установки Compose в другую немного сложен и в небольшом масштабе. может иметь смысл просто соединить тесно связанные между собой вещи.
В более широком масштабе также может иметь смысл иметь отдельный репозиторий только спецификаций развертывания; это имеет немного больше смысла с менеджерами кластеров, такими как Kubernetes, и даже в этом случае выбор стиля заключается в том, чтобы иметь один репозиторий, содержащий только данные развертывания, или сохранить настройку развертывания со службами.