Chuyển đến nội dung chính

Docker: Sử dụng Docker để chạy PostgresSQL

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

Bài đăng phổ biến từ blog này

[ASP.NET MVC] Authentication và Authorize

Một trong những vấn đề bảo mật cơ bản nhất là đảm bảo những người dùng hợp lệ truy cập vào hệ thống. ASP.NET đưa ra 2 khái niệm: Authentication và Authorize Authentication xác nhận bạn là ai. Ví dụ: Bạn có thể đăng nhập vào hệ thống bằng username và password hoặc bằng ssh. Authorization xác nhận những gì bạn có thể làm. Ví dụ: Bạn được phép truy cập vào website, đăng thông tin lên diễn đàn nhưng bạn không được phép truy cập vào trang mod và admin.

ASP.NET MVC: Cơ bản về Validation

Validation (chứng thực) là một tính năng quan trọng trong ASP.NET MVC và được phát triển trong một thời gian dài. Validation vắng mặt trong phiên bản đầu tiên của asp.net mvc và thật khó để tích hợp 1 framework validation của một bên thứ 3 vì không có khả năng mở rộng. ASP.NET MVC2 đã hỗ trợ framework validation do Microsoft phát triển, tên là Data Annotations. Và trong phiên bản 3, framework validation đã hỗ trợ tốt hơn việc xác thực phía máy khách, và đây là một xu hướng của việc phát triển ứng dụng web ngày nay.

Tổng hợp một số kiến thức lập trình về Amibroker

Giới thiệu về Amibroker Amibroker theo developer Tomasz Janeczko được xây dựng dựa trên ngôn ngữ C. Vì vậy bộ code Amibroker Formula Language sử dụng có syntax khá tương đồng với C, ví dụ như câu lệnh #include để import hay cách gói các object, hàm trong các block {} và kết thúc câu lệnh bằng dấu “;”. AFL trong Amibroker là ngôn ngữ xử lý mảng (an array processing language). Nó hoạt động dựa trên các mảng (các dòng/vector) số liệu, khá giống với cách hoạt động của spreadsheet trên excel.