Docker คืออะไร? เครื่องมือยอดนิมยมสำหรับ DevOps และ Developer

Docker คืออะไร? เครื่องมือยอดนิมยมสำหรับ DevOps และ Developer

🐳 Docker คืออะไร? ทำไมคนสาย DevOps และ Developer ถึงต้องรู้จัก!

Docker คือแพลตฟอร์มที่ช่วยให้เราสามารถ “บรรจุ” แอปพลิเคชันของเรา (รวมถึงระบบปฏิบัติการและไลบรารีต่างๆ) ลงไปในสิ่งที่เรียกว่า “Container” เพื่อให้สามารถรันที่ไหนก็ได้ โดยไม่ต้องกังวลเรื่อง “มันรันไม่ได้บนเครื่องนี้!”

🔧 ทำไมต้องใช้ Docker?

ปัญหาเดิมๆ ที่เจอ วิธีที่ Docker ช่วยได้
เครื่อง A ใช้ได้ เครื่อง B ใช้ไม่ได้ Docker ทำให้เหมือนรันแอปในกล่องเดียวกันทุกเครื่อง
ติดตั้งระบบยุ่งยาก ใช้ Dockerfile หรือ image ที่มีอยู่แล้ว
แอปต้องมีหลายบริการ Docker รองรับ Multi-container ผ่าน Docker Compose

🧱 คำศัพท์พื้นฐาน

  • Image – พิมพ์เขียวของ Container เช่น Ubuntu, MySQL, PHP
  • Container – เครื่องจำลองขนาดจิ๋วที่รันจริง
  • Dockerfile – ไฟล์สคริปต์ที่บอกว่า Image นี้ต้องติดตั้งอะไรบ้าง
  • Docker Hub – ศูนย์รวม image ที่มีให้โหลดฟรี

⚙️ ตัวอย่างการใช้งาน Docker เบื้องต้น

1. ตรวจสอบว่าเครื่องติดตั้ง Docker แล้วหรือยัง

docker --version

2. ดึง Image มาใช้งาน (เช่น nginx)

docker pull nginx

3. รัน container จาก image

docker run -d -p 8080:80 nginx

💡 เข้าเว็บ http://localhost:8080 จะเห็นหน้าเว็บ Nginx แล้ว!

📝 ตัวอย่าง Dockerfile สำหรับ PHP + Apache

FROM php:8.1-apache
COPY . /var/www/html/
EXPOSE 80

ใช้คำสั่ง docker build -t my-php . เพื่อสร้าง image จาก Dockerfile

🔄 คำสั่ง Docker ที่ใช้บ่อย

คำสั่ง อธิบาย
docker ps แสดง container ที่กำลังทำงาน
docker images ดู images ที่มีในเครื่อง
docker stop <id> หยุด container
docker rm <id> ลบ container
docker rmi <image> ลบ image
docker exec -it <id> bash เข้าข้างใน container

🧩 การจัดการหลาย Container ด้วย Docker Compose

ตัวอย่างไฟล์ docker-compose.yml

version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: rootpass

รันคำสั่ง:

docker-compose up -d

📦 ข้อดีของ Docker

  • ✅ ติดตั้งง่าย แพ็กของครบ
  • ✅ ย้ายเครื่องสะดวก
  • ✅ รองรับ CI/CD
  • ✅ ทำงานร่วมกับ Kubernetes ได้

🖼️ ภาพประกอบการทำงานของ Docker

Docker Overview

📚 สรุป

Docker คือเครื่องมือที่ช่วยให้การพัฒนา ทดสอบ และ Deploy แอปของคุณเป็นไปได้ง่าย รวดเร็ว และแน่นอน ไม่ว่าจะรันบนเครื่องนักพัฒนาหรือบนเซิร์ฟเวอร์จริงก็ตาม

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *