En mi experiencia, las migraciones automáticas en el entrypoint pueden causar problemas si el contenedor se reinicia por error. Prefiero tener un contenedor de 'jobs' que se ejecuta como parte del pipeline de CI/CD. Así, si falla la migración, no se bloquea el despliegue. Pero bueno, cada quien tiene su approach. Sobre Docker en producción, no olvides usar restart: unless-stopped y limitar recursos con deploy.resources si usas swarm o compose.