PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Verbinden mit Postgresql in einem Docker-Container von außen

Sie können Postgres auf diese Weise ausführen (einen Port zuordnen):

docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d -p 5432:5432 postgres

Jetzt haben Sie also den Port 5432 Ihres Containers dem Port 5432 Ihres Servers zugeordnet. -p <host_port>:<container_port> . Jetzt ist Ihr Postgres also von Ihrem public-server-ip:5432 aus zugänglich

Zum Testen:Führen Sie die Postgres-Datenbank aus (Befehl oben)

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

Gehen Sie in Ihren Container und erstellen Sie eine Datenbank:

docker exec -it 05b3a3471f6f bash
[email protected]:/# psql -U postgres
postgres-# CREATE DATABASE mytest;
postgres-# \q

Gehen Sie zu Ihrem Localhost (wo Sie ein Tool oder den psql-Client haben).

psql -h public-ip-server -p 5432 -U postgres

(Passwort 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   

Sie greifen also von Ihrem Localhost aus auf die Datenbank zu (die im Docker auf einem Server läuft).

In diesem Beitrag wird es ausführlich erklärt.