Дело в том, что вы не должны создавать образ докера для производства.
Обычная настройка заключается в том, что вы создаете образ, который может работать в нескольких средах.В UAT вы тестируете этот образ, а когда все в порядке, вы создаете производственную среду для остановки текущих контейнеров, а затем запускаете новые на основе нового образа.
Чтобы сохранить образ, вы можете использовать, например, реестр Docker.
Что касается ваших ошибок, они происходят, потому что на компьютере, на котором вы выполняете сборку docker-compose, у вас нет файла db_config.Аналогично необходимости загружать compose в производство, чтобы создать образ в рабочей среде, вам необходимо предоставить все необходимые файлы проекта, необходимые для сборки.
Если вы хотите, чтобы он был "чистым"«тогда правильный способ - это создать образ в среде сборки, перенести образ в реестр, а затем в производственную среду просто выполнить развертывание.
И да, для производственного развертывания необходим файл compose.Однако вам не нужно делать сборку.Если реестр докеров доступен, вы должны сначала остановить работающие контейнеры, а затем запустить их снова.
Если вы работаете с роем, это должно быть проще, так как роем проверит наличие контейнеров с более новой базой изображений и остановит их толькоесли требуется обновление изображения.