पोस्टग्रेज:10.5 इमेज के आधार पर अपने डेटाबेस के लिए डॉक इमेज बनाते समय मुझे फ्लाईवे चलाने में भी यही समस्या थी। मैंने फ्लाईवे चलाने से पहले अपने entrypoint.sh में निम्नलिखित जोड़ा, यह पुष्टि करने के लिए कि मैं जो समस्या देख रहा था, वह docker-entrypoint.sh परिवर्तन के कारण हुआ था @Nick Maraston ने अपने उत्तर में पोस्ट किया:
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
नतीजा यह हुआ कि उपरोक्त कोड हमेशा के लिए लूप हो गया। इसके बाद मैंने लोकलहोस्ट पर टीसीपी/आईपी कनेक्शन सुनने वाले डेटाबेस को पुनरारंभ करने के लिए इसे निम्न कोड से बदल दिया:
pg_ctl -D "$PGDATA" -m fast -w stop
pg_ctl -D "$PGDATA" \
-o "-c listen_addresses='localhost'" \
-w start
इस तरह डेटाबेस को पुनरारंभ करने के बजाय, जेडीबीसी -socketFactory
का उपयोग करने के लिए एक क्लीनर समाधान होगा विकल्प समझाया गया यहां
।