PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Kết nối với Postgresql trong một thùng chứa docker từ bên ngoài

Bạn có thể chạy Postgres theo cách này (ánh xạ một cổng):

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

Vì vậy, bây giờ bạn đã ánh xạ cổng 5432 của vùng chứa với cổng 5432 của máy chủ. -p <host_port>:<container_port> .Vì vậy, bây giờ bạn có thể truy cập postgres từ public-server-ip:5432 của bạn

Để kiểm tra:Chạy cơ sở dữ liệu postgres (lệnh ở trên)

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

Vào bên trong vùng chứa của bạn và tạo cơ sở dữ liệu:

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

Đi tới máy chủ cục bộ của bạn (nơi bạn có một số công cụ hoặc ứng dụng khách psql).

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

(mật khẩu 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   

Vì vậy, bạn đang truy cập cơ sở dữ liệu (đang chạy trong docker trên máy chủ) từ máy chủ cục bộ của mình.

Trong bài đăng này, nó được giải thích chi tiết.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. RoR:Không thể change_column trong postgres, tốt trong MySQL (MySQL để phát triển, Postgres trên Heroku)

  2. GROUP BY và COUNT trong PostgreSQL

  3. Không tìm thấy lớp đang tải JDBC org.postgresql.Driver

  4. SQL - Tạo chế độ xem từ nhiều bảng

  5. Cách hoạt động của hàm CONCAT () trong PostgreSQL