sql >> Databáze >  >> RDS >> PostgreSQL

Připojení k Postgresql v kontejneru dockeru zvenčí

Postgres můžete spustit tímto způsobem (mapovat port):

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

Nyní jste tedy namapovali port 5432 vašeho kontejneru na port 5432 vašeho serveru. -p : .Takže nyní je váš postgres přístupný z vaší ip-public-server-ip:5432

Test:Spusťte databázi postgres (příkaz výše)

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

Vstupte do svého kontejneru a vytvořte databázi:

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

Přejděte na svůj localhost (kde máte nějaký nástroj nebo klienta psql).

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

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

K databázi (která běží v dockeru na serveru) tedy přistupujete ze svého localhost.

V tomto příspěvku je to podrobně vysvětleno.



  1. odstranit sloupec neexistuje

  2. Jak změnit hodnotu automatického přírůstku databáze MySQL / MariaDB

  3. Oprava Msg 8114 „Chyba při převodu datového typu varchar na číselný“ v SQL Server

  4. Ekvivalent RowID společnosti Oracle v MySQL