DevOps

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

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

09 สิงหาคม 20232 นาที
0
มาลองใช้งาน PostgreSQL ด้วย Docker Compose กันดีกว่า
Table of Contents

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

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

Bash Logo
mkdir my-postgresql-project cd my-postgresql-project

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

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

YAML Logo
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 ดูกัน

Bash Logo
docker-compose up -d

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

Adminer login

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

Adminer login

เรียบร้อย...

Adminer login

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

คลิกเพื่อแสดงความคิดเห็น