आप पोस्टग्रेज़ को इस तरह से चला सकते हैं (पोर्ट को मैप करें):
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres
तो अब आपने अपने कंटेनर के पोर्ट 5432 को अपने सर्वर के पोर्ट 5432 में मैप कर लिया है। -p <host_port>:<container_port>
.तो अब आपके पोस्टग्रेज आपके public-server-ip:5432
. से पहुंच योग्य हैं
परीक्षण करने के लिए:पोस्टग्रेज डेटाबेस चलाएँ (ऊपर कमांड)
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
05b3a3471f6f postgres "/docker-entrypoint.s" 1 seconds ago Up 1 seconds 0.0.0.0:5432->5432/tcp some-postgres
अपने कंटेनर के अंदर जाएं और एक डेटाबेस बनाएं:
docker exec -it 05b3a3471f6f bash
[email protected]:/# psql -U postgres
postgres-# CREATE DATABASE mytest;
postgres-# \q
अपने लोकलहोस्ट पर जाएँ (जहाँ आपके पास कोई टूल या psql क्लाइंट है)।
psql -h public-ip-server -p 5432 -U postgres
(पासवर्ड mysecretpassword)
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+------------+------------+-----------------------
mytest | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 |
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | =c/postgres
तो आप अपने लोकलहोस्ट से डेटाबेस (जो सर्वर पर डॉकटर में चल रहा है) तक पहुंच रहे हैं।
इस पोस्ट में इसका विस्तार से वर्णन किया गया है।