Nay mình chia sẻ với mọi người cách cài đặt PostgreSQL bằng Docker Compose. Nói đến Docker thì mọi người chắc ai cũng đã dùng qua rồi, các bài viết trước mình cũng có chia sẻ về Docker các bạn có thể xem lại tại đây
Create A Application Laravel 8 + Docker
Create A Example Application Web PHP + Docker (Phpmyadmin , Mysql , Nginx)
Đầu tiên bạn tạo cho mình một file docker-compose.yml và copy đoạn code sao
# docker-compose.yml version: '3.8' services: postgres_db: image: postgres:13.5 container_name: PostgresCount restart: always environment: - POSTGRES_USER=hoadev - POSTGRES_PASSWORD=hoadev123 - POSTGRES_DB=hoadev_db volumes: - postgres_db:/var/lib/postgresql/data ports: - '5432:5432' volumes: postgres_db: driver: local
- version: chỉ định phiên bản của tệp Docker Compose. Trong trường hợp của mình đang dùng , đó là “3,8”.
- service: xác định các dịch vụ cần được thực thi bằng Docker Compose
- postgres_db: là tên của service Postgres.
- image: xác định image sẽ sử dụng, tức là "postgres:latest".
- container_name: đại diện cho tên vùng chứa, tức là PostgresCont. nó chính là tên của container
- environment: cài đặt các biến môi trường trong Postgresql. VD: POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB,...
- port: cài đặt cổng giao tiếp cho nó "5432:5432"
- volumes: thiết lập một ổ đĩa để duy trì dữ liệu Postgres
Okay bay giờ chúng ta mở command lên chạy câu lệnh run nó thôi
docker-compose up -d docker-compose ps
Bên trên bạn đã chạy thành công thì bạn sẽ thấy name của container là "PostgresCount"
Giờ việc của chúng ta là chạy lệnh bash , để truy cập vào container
docker-compose exec -it <container-name>
Ở đây container name của ta là "PostgresCount" nên chúng ta sẽ chạy câu lệnh sau:
docker-compose exec -it PostgresCount bash
Nếu chạy lệnh trên mà bạn gặp phải thông báo này:
service "PostgresCount" is not running
Bạn đừng lo lắng, ta có cách để chạy lệnh trên, bằng cách chạy trực tiếp name của service "postgres_db"
docker-compose exec -it postgres_db bash
Okay bạn chạy vào root rồi thì việc tiếp theo là login đến postgres thôi
psql -U <user> -d <database>
user: tên user mà ta đã cài đặt trong environment, của file docker-compose.yml
database: tên database cũng được đặt tên trong environment
psql -U hoadev -d hoadev_db
Bạn có thể chạy câu lệnh \l để hiện thị tất cả các database
Okay, bạn chạy vào được tới đây là thành công rồi đó, còn lại bạn chỉ cần viết mấy câu lện truy vấn(query) trong SQL như(create, read, delete, select,....)
Okay các bạn tìm hiểu thêm về các câu lệnh truy vấn trong postgresql thêm để test thử nhé, hẹn gặp mọi người ở bài chia sẻ sau. Các bạn có thể xem thêm ở đây:
How To Create Data Queries in PostgreSQL By Using the Select Command
Nếu thấy bài viết thú vị, thì đóng góp bằng cách chia sẻ đến mọi người