sql >> Databasteknik >  >> RDS >> PostgreSQL

Ansluter till Postgresql i en dockningscontainer utifrån

Du kan köra Postgres på detta sätt (karta en port):

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

Så nu har du mappat port 5432 för din container till port 5432 på din server. -p <host_port>:<container_port> .Så nu är din postgres tillgänglig från din public-server-ip:5432

För att testa:Kör postgres-databasen (kommandot ovan)

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

Gå in i din behållare och skapa en databas:

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

Gå till din lokala värd (där du har något verktyg eller psql-klienten).

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

(lösenord mitt hemliga lösenord)

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   

Så du kommer åt databasen (som körs i docker på en server) från din lokala värd.

I det här inlägget förklaras det i detalj.



  1. Vilken datatyp ska användas för hashat lösenordsfält och vilken längd?

  2. PostgreSQL 13:Låt inte slots döda din primära

  3. Hur skapar man funktion i PL/SQL?

  4. Hur snabbar man på SELECT .. LIKE-frågor i MySQL på flera kolumner?