PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

डॉकर वॉल्यूम का उपयोग कर डेटाबेस को कायम रखना

डॉकर कंपोज़ के डॉकमेंट के अनुसार , जब आप कुछ ऐसा लिखते हैं:

volumes:
  - /var/lib/postgresql/data

यह एक नया डॉकर वॉल्यूम बनाता है और इसे /var/lib/postgresql/data पर मैप करता है। कंटेनर के अंदर। इसलिए, हर बार जब आप docker-compose up run चलाते हैं और docker-compose down , यह नया वॉल्यूम बनाता है। आप docker volume ls . के साथ व्यवहार की पुष्टि कर सकते हैं ।

इससे बचने के लिए आपके पास दो विकल्प हैं:

(A) होस्ट निर्देशिका को कंटेनर में मैप करें

आप <HOST_PATH>:<CONTAINER_PATH> का उपयोग करके होस्ट की निर्देशिका को कंटेनर में मैप कर सकते हैं ।

volumes:
  - /path/to/your/host/directory:/var/lib/postgresql/data

Postgresql का डेटा /path/to/your/host/directory में सेव किया जाएगा कंटेनर होस्ट का।

(B) बाहरी कंटेनर का उपयोग करें

docker-compose में बाहरी कंटेनर का विकल्प है। .जब इसे सही पर सेट किया जाता है, तो यह हमेशा वॉल्यूम नहीं बनाएगा। यहां एक उदाहरण दिया गया है।

version: '2'
services:
  dbdata:
    image: postgres:9.5.2
    volumes:
      - mypostgresdb:/var/lib/postgresql/data
volumes:
  mypostgresdb:
    external: true

external: true के साथ , docker-compose mypostgredb . नहीं बनाएगा वॉल्यूम, इसलिए आपको निम्न कमांड का उपयोग करके इसे स्वयं बनाना होगा:

docker volume create --name=mypostgredb

Postgresql का डेटा mypostgredb . नाम के डॉकर वॉल्यूम में सेव किया जाएगा . पढ़ें संदर्भ अधिक विवरण के लिए।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं Postgresql SCRAM प्रमाणीकरण समस्या को कैसे हल कर सकता हूं?

  2. जियोसर्वर त्रुटि:समारोह postgis_lib_version()

  3. 1=1 पर शामिल हों (चुनें ...)?

  4. स्कोप के साथ खेतों का विस्तार करते हुए रेल, पीजी को यह पसंद नहीं है

  5. पोस्टग्रेज यूटीसी दिनांक प्रारूप और युग कास्ट, साइन इनवर्जन