मैंने आपके परिदृश्य को इस तरह पुन:पेश किया है:
# docker run -p 5431:5432 --name postgres2 -e POSTGRES_PASSWORD=ad1234 -d postgres
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4030c577a24 postgres "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:5431->5432/tcp postgres2
# sudo -u postgres psql -h localhost -p 5431
could not change directory to "/root": Permission denied
Password:
psql (10.5, server 11.2 (Debian 11.2-1.pgdg90+1))
WARNING: psql major version 10, server major version 11.
Some psql features might not work.
Type "help" for help.
postgres=# CREATE DATABASE mytestdb;
CREATE DATABASE
postgres=# \q
अब pgadmin के लिए docker प्रारंभ करना और postgresql से कनेक्ट करने में सक्षम होना:
docker run -p 80:80 --link postgres2 -e "[email protected]" -e "PGADMIN_DEFAULT_PASSWORD=SuperSecret" -d dpage/pgadmin4
उपरोक्त आदेश के साथ आप पोस्टग्रेज 2 डॉकटर को pgadmin docker से लिंक कर सकते हैं और फिर pgadmin4 पर एक कनेक्शन बनाने पर आपको इसका उपयोग करना चाहिए:
- होस्ट नाम/पता:postgres2
- पोर्ट:5432
- रखरखाव डेटाबेस:पोस्टग्रेज
- उपयोगकर्ता नाम:पोस्टग्रेज
इसके साथ, मैं पोस्टग्रेज से pgadmin4 से जुड़ा हूं
जहाँ तक मुझे पता है, docker PostgreSQL डिफ़ॉल्ट रूप से लोकलहोस्ट केवल कनेक्शन के साथ आता है और यदि आप दूरस्थ कनेक्शन जोड़ना चाहते हैं तो आपको "listen_addresses ='*'" को postgresql.conf
में जोड़ना चाहिए।