sql >> Database >  >> RDS >> PostgreSQL

Van buitenaf verbinding maken met Postgresql in een docker-container

U kunt Postgres op deze manier uitvoeren (een poort in kaart brengen):

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

Dus nu heb je de poort 5432 van je container toegewezen aan poort 5432 van je server. -p <host_port>:<container_port> .Dus nu is je postgres toegankelijk vanaf je public-server-ip:5432

Om te testen:voer de postgres-database uit (opdracht hierboven)

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

Ga in je container en maak een database aan:

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

Ga naar je localhost (waar je een tool of de psql-client hebt).

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

(wachtwoord mijngeheimwachtwoord)

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   

Je hebt dus toegang tot de database (die in docker op een server draait) vanaf je localhost.

In dit bericht wordt het in detail uitgelegd.



  1. Hoe te verwijzen naar JSON-sleutels die speciale tekens bevatten bij gebruik van OPENJSON, JSON_QUERY en JSON_VALUE (SQL Server)

  2. Hetzelfde schema gebruiken voor meerdere SQL Server Agent-taken (T-SQL)

  3. SQLite INSERT - OP DUPLICATE KEY UPDATE (UPSERT)

  4. CLOB invoegen in Oracle-database