Nếu các bạn chưa biết cách tạo Docker-compose, các bạn có thể xem trước bài viết này: https://nhatkyhoctap.blogspot.com/2022/07/docker-su-dung-docker-compose-part-9.html
Trước tiên, chạy PostgresSQL trong Docker khá dễ dàng. Nhưng trong bài viết này, mình có hướng dẫn các bạn tích hợp thêm giao diện PgAdmin để quản lý Docker.
Ngoài ra bạn có thể sử dụng DBeaver nếu chỉ host PostgresSQL.
PostgresDb
Trước tiên, bạn cần tìm kiếm trên Docker Hub với từ khóa PostgresSQL.
Sau khi xác định đúng image cần tìm, tiếp theo bạn sẽ chọn phiên bản, sau đó bạn đọc description để cần biết sẽ khai báo thêm biến môi trường nào.
PostgresSQL on Docker Hubs: https://hub.docker.com/_/postgres/
docker pull postgres
Có rất nhiều phiên bản, từ latest, beta, đến những phiên bản chính thức. Nếu bạn không chỉ rõ phiên bản, mặc định Docker sẽ pull về phiên bản latest. Trong bài viết này, mình sử dụng phiên bản 14.4
Để biết cần thêm environment variable nào, các bạn cần đọc kỹ description bên dưới.
Các biến môi trường quan trọng bao gồm: POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB
PgAdmin4
PgAdmin 4 là bản viết lại hoàn chỉnh của pgAdmin, được xây dựng bằng Python và Javascript / jQuery. Có 2 phiên bản: 1 là trên desktop, 2 là bản web application.
Trong bài viết này, chúng ta sử dụng bản web application.
Setup Docker compose để chay PostgresSQL và PgAdmin4
Chúng ta sẽ thiết lập 1 api-nework để pgAdmin4 giao tiếp với PostgresSQL.
Đồng thời từ bên ngoài, chúng ta có thể truy cập được pgAdmin4 thông qua port 5050 và kết nối với PostgresSQL thông qua port 5431
version: "3.9"
networks:
api-network:
driver: bridge
services:
postgres:
container_name: postgres_container
image: postgres:14.4
restart: unless-stopped
networks:
- api-network
ports:
- 5431:5432
environment:
POSTGRES_USER: pguser
POSTGRES_PASSWORD: password
POSTGRES_DB: default_database
pgadmin:
container_name: pgadmin4_container
image: dpage/pgadmin4
networks:
- api-network
restart: always
ports:
- 5050:80
environment:
- PGADMIN_DEFAULT_EMAIL=admin@admin.com
- PGADMIN_DEFAULT_PASSWORD=root
Chúc các bạn thành công!
Nhận xét
Đăng nhận xét