Универсальным рецептом на любую архитектуру является:
Хранение паролей в секретнице, например HashiCorp Vault
Приложение при инициализации идет за своим набором секретов по сети и создает подключения к БД, конфиги доступа к др ресурсам и прочее и хранит у себя... Все секьюрно и надежно
Если проще: передавайте секреты через переменные окружения при деплое.
Локально — через .env файл. Docker-compose сервисы могут содержать параметр env_file: .env.test
, если вам нужно точечно что-то сделать
Вы разве используете docker-compose для продакшн?