PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Łączenie się z Postgresql w kontenerze docker z zewnątrz

Możesz uruchomić Postgres w ten sposób (zmapuj port):

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

Więc teraz zmapowałeś port 5432 twojego kontenera na port 5432 twojego serwera. -p : .Więc teraz twój postgres jest dostępny z twojego public-server-ip:5432

Aby przetestować:Uruchom bazę danych postgres (polecenie powyżej)

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

Wejdź do kontenera i utwórz bazę danych:

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

Przejdź do swojego lokalnego hosta (gdzie masz jakieś narzędzie lub klienta psql).

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

(hasło 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   

Więc uzyskujesz dostęp do bazy danych (która działa w dockerze na serwerze) ze swojego hosta lokalnego.

W tym poście jest to szczegółowo wyjaśnione.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak utworzyć indeks na polu JSON w Postgresie?

  2. Rejestrowanie audytów dla PostgreSQL

  3. Jak zaimportować zrzut Heroku PG na komputer lokalny?

  4. Pobieranie wszystkich uprawnień do obiektów dla określonej roli

  5. Planeta PostgreSQL w galaktyce Ansible