Jag hade samma problem när jag skapade en docker-bild för min databas baserad på postgres:10.5-bilden. Jag lade till följande i min entrypoint.sh innan jag körde flyway, för att bekräfta att problemet jag såg orsakades av docker-entrypoint.sh-ändringen som @Nick Maraston skrev i sitt svar:
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
Resultatet var att ovanstående kod slingrade sig för alltid. Jag ersatte den sedan med följande kod för att starta om databasen och lyssna efter TCP/IP-anslutningar på localhost:
pg_ctl -D "$PGDATA" -m fast -w stop
pg_ctl -D "$PGDATA" \
-o "-c listen_addresses='localhost'" \
-w start
Istället för att starta om databasen så här, skulle en renare lösning vara att använda JDBC -socketFactory
alternativet förklaras här
.