मैं छवि का पुनर्निर्माण करता हूं या कंटेनर को पुनरारंभ करता हूं, मेरा डेटाबेस डेटा कहां जाता है? क्या यह चला गया है?
- नहीं, डेटा नहीं गया है। केवल तभी डेटा हटाया जाता है जब आप कंटेनर को हटाते हैं:
docker rm <my postgres container>
. केवल एक बार यह सच नहीं है यदि आप डेटा वॉल्यूम को उजागर करने के लिए कंटेनर में वॉल्यूम माउंट करते हैं:docker run -td -p 5432:5432 -v /mydata/volume:/var/lib/postgresql/data postgres:9.5.2
मैं अपने फ्लास्क (डॉकर) एप्लिकेशन में अपने डेटाबेस का उपयोग करना चाहता हूं, मुझे अपने कॉन्फिगर में क्या डालने की आवश्यकता है? (DATABASE_URI, NAME आदि..)
- यह बहस का विषय हो सकता है लेकिन मैं एक पर्यावरण चर का उपयोग करूंगा जिसे आप कंटेनर शुरू करते समय सेट करते हैं:
docker run -td -p 80:5000 -e POSTGRES_URL=172.12.20.1 mycontainer/flask:latest
अपने कॉन्फिगरेशन में आपos.getenv('POSTGRES_URL', 'localhost')
जाएंगे। . यदि कंटेनर जुड़ा हुआ है तो यह आपको लोकलहोस्ट में डिफ़ॉल्ट करने की अनुमति देता है अन्यथा आप इसे किसी अन्य मशीन पर चल रहे किसी अन्य कंटेनर पर इंगित कर सकते हैं। यह बेहतर है क्योंकि यह आपके परिनियोजन में अधिक लचीलेपन की अनुमति देता है।
मैं अपने डेटाबेस का बैकअप लेना चाहता हूं, या उसमें डेटा लोड करना चाहता हूं? क्या मैं बस इससे जुड़ सकता हूं?
- हां, किसी और चीज की तरह ही आप
IP:PORT
. पर Postgres से जुड़ सकते हैं कंटेनर रनटाइम पर आपके द्वारा निर्दिष्ट क्रेडेंशियल का उपयोग करना।