มาลองใช้งาน PostgreSQL ด้วย Docker Compose กันดีกว่า

DevOps

มาลองใช้งาน PostgreSQL ด้วย Docker Compose กันดีกว่า

ในบทความนี้จะมาดูวิธีการใช้งาน PostgreSQL ด้วย Docker Compose กัน ซึ่งสุดแสนจะง่ายมากๆ

ประมาณ 1 ปีที่ผ่านมา

1 min read

🗂️ สร้าง Folder สำหรับ Project

เริ่มจากเราสร้าง Folder สำหรับเก็บ Project ของเราก่อน โดยเราจะเก็บ Docker Compose และไฟล์อื่นๆที่เกี่ยวข้องไว้ใน Folder นี้

mkdir my-postgresql-project
cd my-postgresql-project

🐳 สร้างไฟล์ docker-compose.yml

ซึ่งใน docker-compose.yml เราจะมี 2 service คือ อันแรกคือ db ซึ่งเป็น PostgreSQL และอีกอันคือ adminer ซึ่งเป็นเครื่องมือในการจัดการฐานข้อมูล PostgreSQL ของเรา ซึ่งจะไม่เอาก็ได้นะ

version: "3.8"
 
services:
  db:
    image: postgres
    restart: always
    environment:
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
    # ports:
    #   - 5432:5432 ถ้าต้องต้องการเข้าถึงจาก Host ได้ ให้ปิด comment บรรทัดนี้
 
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

อธิบาย docker-compose.yml กันหน่อย

  • บรรทัดที่ 1 คือ version ของ docker-compose ซึ่งในที่นี้เราใช้ version 3.8
  • บรรทัดที่ 3 คือการกำหนด service ของเรา ซึ่งในที่นี้เรามี 2 service คือ db และ adminer
  • บรรทัดที่ 4 คือการกำหนด image ของ service นั้นๆ ซึ่งในที่นี้เราใช้ image ของ postgres และ adminer
  • บรรทัดที่ 5 คือการกำหนดให้ service นั้น restart อัตโนมัติเมื่อมีการเกิด error หรือเมื่อเริ่มต้นครั้งแรก
  • บรรทัดที่ 6-8 คือการกำหนด environment ของ service นั้นๆ ซึ่งในที่นี้เรากำหนดให้ db มี database ชื่อ mydatabase และมี user ชื่อ myuser พร้อมกับ password ชื่อ mypassword
  • บรรทัดที่ 10-12 คือการกำหนด port ของ service นั้นๆ ซึ่งในที่นี้เรากำหนดให้ adminer ใช้ port 8080 และเราสามารถเข้าถึง adminer ได้ผ่าน http://localhost:8080

🏃‍♂️ Run

ทุกอย่างน่าจะเรียบร้อย มาลอง Run ดูกัน

docker-compose up -d

ลองเข้า Browser ด้วย http://localhost:8080 จะพบหน้าตาแบบนี้

Adminer login
Adminer login

ใส่ข้อมูลสำหรับ Login เข้าใช้งานกันหน่อย

Adminer login
Adminer login

เรียบร้อย…

Adminer login
Adminer login

เพียงเท่านี้เราก็จะสามารถใช้งาน PostgreSQL ได้แล้ว และสามารถใช้ adminer ในการจัดการฐานข้อมูลได้เลย

Tags:

Docker PostgreSQL