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

डॉकर वेब ऐप कंटेनर को डॉकर पोस्टग्रेएसक्यूएल कंटेनर से कैसे कनेक्ट करें?

docker-compose v2 का उपयोग करते समय, सेवाओं के बीच लिंक बनाने की आवश्यकता नहीं होती है। डॉकर 1.9 और 1.10 आपको उसी (कस्टम) नेटवर्क पर अन्य कंटेनरों से उनके नाम से कनेक्ट करने की अनुमति देता है।

आपको सेवा . के नाम का उपयोग करके कनेक्ट करने में सक्षम होना चाहिए या कंटेनर . का नाम एक होस्टनाम के रूप में। यह देखते हुए कि कंटेनर का नाम docker-compose द्वारा उत्पन्न किया गया है, यह वास्तव में उपयोग करने के लिए सुविधाजनक नहीं है, इसलिए इस कारण से, docker-compose एक उपनाम भी जोड़ता है। प्रत्येक कंटेनर के सेवा नाम के साथ।

यह बहुत ही सरल उदाहरण लें। मैंने सुविधा के लिए एक Nginx कंटेनर का उपयोग किया है, लेकिन वही आपकी स्थिति पर लागू होना चाहिए;

version: '2'
services:
  web_app:
    image: nginx
  db:
    image: nginx

पहले प्रोजेक्ट शुरू करें (मानते हुए;

$ docker-compose --project-name=test up -d
Creating network "test_default" with the default driver
Creating test_db_1
Creating test_web_app_1

फिर "db" सेवा को test_web_app_1 . के अंदर से पिंग करें कंटेनर:

$ docker exec -it test_web_app_1 ping -c 2 db
PING db (172.18.0.2): 56 data bytes
64 bytes from 172.18.0.2: icmp_seq=0 ttl=64 time=0.108 ms
64 bytes from 172.18.0.2: icmp_seq=1 ttl=64 time=0.243 ms
--- db ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.108/0.175/0.243/0.068 ms

यदि आप test_db_1 . का निरीक्षण करते हैं कंटेनर, आप देख सकते हैं कि docker-compose ने test_db_1 के लिए स्वचालित रूप से एक "db" उपनाम जोड़ा है कंटेनर;

$ docker inspect test_db_1

देता है:(सिर्फ NetworkSettings.Networks भाग)

"Networks": {
    "test_default": {
        "IPAMConfig": null,
        "Links": null,
        "Aliases": [
            "db",
            "002b1875e61f"
        ],
        "NetworkID": "0f9e2cddeca79e5a46c08294ed61dee273828607f99014f6410bda887626be70",
        "EndpointID": "a941ab95586a8fdafc5075f9c5c44d745f974e5790ef6048b9e90115a22fb31f",
        "Gateway": "172.18.0.1",
        "IPAddress": "172.18.0.2",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "MacAddress": "02:42:ac:12:00:02"
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे एक बाहरी डेटाबेस सर्वर के लिए Google मेघ डेटा प्रवाह में एक SSH सुरंग स्थापित करने के लिए?

  2. PostgreSQL स्ट्रीमिंग प्रतिकृति बनाम तार्किक प्रतिकृति

  3. एकाधिक चयन कथनों से बेहतर तरीका?

  4. Postgresql इंटररे त्रुटि:अपरिभाषित प्रतीक:pfree

  5. एकाधिक कॉलम का उपयोग करके क्लॉज में पैरामीटर किया गया