Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

141
Vistas
Run a database migration command when deploying a Docker container to AWS

Please bear with me. Pretty new to Docker.

I'm deploying Docker containers (detached) to an AWS EC2 registry using CodeDeploy. On deploy, the following command is run after setting some environmental variables etc:

exec docker run -d ${PORTS} -v cache-${CACHE_VOLUME} --env-file $(dirname $0)/docker.env --tty "${IMAGE}:${TAG}"

The container runs an image located and tagged in EC2 Container Service. No problems so far.

Since this is a PHP application (specifically a Symfony2 application) I would normally need to issue the following command to execute database migrations on deployment:

 php app/console doctrine:migrations:migrate --no-interaction

Now, is there any to run this command during "docker run..." while keeping the container running, or do I need to run another container specifically for this command?

Many thanks!

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

You need create entrypoint. This script runs at the container startup.

entrypoint.sh file:

#create or update db
./waitforit.sh <DB_HOST>:<DP_PORT> -t 30
php app/console doctrine:migrations:execute 

# start apache
apache2-foreground

wait for it it is a script waited when database is started up

over 4 years ago · Santiago Trujillo Denunciar

0

Just leaving this here for the next one that searches for this... ;-)

When using a recent version of Doctrine, there is a pretty handy parameter for this:

php bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration

The "allow-no-migration" parameter instructs doctrine not to throw an exception, when there is nothing to do...

over 4 years ago · Santiago Trujillo Denunciar

0

I do as follows:

docker-compose exec [containerID] ./app/console migrations:migrate --no-interaction
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda