Tuve el mismo problema al ejecutar flyway al crear una imagen acoplable para mi base de datos basada en la imagen postgres:10.5. Agregué lo siguiente a mi entrypoint.sh antes de ejecutar flyway, para confirmar que el problema que estaba viendo fue causado por el cambio de docker-entrypoint.sh que @Nick Maraston publicó en su respuesta:
echo "$(date) - waiting for database to start"
while ! pg_isready -h localhost -p 5432 -d $POSTGRES_DB
do
echo "$(date) - waiting for database to start"
sleep 10
done
El resultado fue que el código anterior se repitió para siempre. Luego lo reemplacé con el siguiente código para reiniciar la base de datos escuchando conexiones TCP/IP en localhost:
pg_ctl -D "$PGDATA" -m fast -w stop
pg_ctl -D "$PGDATA" \
-o "-c listen_addresses='localhost'" \
-w start
En lugar de reiniciar la base de datos de esta manera, una solución más limpia sería usar JDBC -socketFactory
opción explicada aquí
.