🗂️ สร้าง 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 จะพบหน้าตาแบบนี้

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

เรียบร้อย…

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