คู่มือการใช้ Docker สำหรับมือใหม่

คู่มือการใช้ Docker สำหรับมือใหม่

รวบรวมคำสั่งต่าง ๆ ของ docker ไว้ค้นหาดูง่ายๆ

🐳 Docker คืออะไร

Docker เป็นแพลตฟอร์มซอฟต์แวร์ที่ช่วยให้การพัฒนาและการจัดการแอปพลิเคชันทำได้ง่ายและรวดเร็ว โดย Docker จะบรรจุแอปพลิเคชันและส่วนประกอบที่จำเป็นทั้งหมดลงใน คอนเทนเนอร์ (Container) ซึ่งเป็นหน่วยที่มีความเบาและแยกจากกัน ทำให้สามารถรันได้ในสภาพแวดล้อมที่หลากหลายโดยไม่ต้องกังวลเกี่ยวกับความเข้ากันได้ของระบบ.

🔧 คำสั่งเบื้องต้น

ตำสั่ง รายละเอียด
docker --version ตรวจสอบ Docker version
docker pull <image> ดาวโหลด image จาก Docker Hub
docker images แสดง image ทั้งหมดในเครื่อง
docker rmi <image> ลบ image
docker run <image> สร้างหรือสั่งทำงาน container จาก image
docker ps แสดง containers ที่ทำงานทุกตัว
docker ps -a แสดง containers ที่ทำงานทุกตัว + หยุดไปแล้ว
docker stop <container> หยุด container
docker start <container> สั่งทำงาน container
docker rm <container> ลบ container

📦 Working with Containers

ตำสั่ง รายละเอียด
docker exec -it <container> /bin/bash เข้าไปยัง terninal ของ container ที่กำลังทำงาน
docker logs <container> ดู log ของ container
docker commit <container> <new_image> สร้าง image ใหม่ จาก container ที่เราทำการเปลี่ยนแปลง
docker network ls แสดง networks ทั้งหมด
docker volume ls แสดง volumes ทั้งหมด

🛠️ Dockerfile Basics

โครงสร้าง Dockerfile

# Base image
FROM ubuntu:latest

# Maintainer
LABEL maintainer="your_name@example.com"

# Install dependencies
RUN apt-get update && apt-get install -y python3

# Copy files
COPY . /app

# Set working directory
WORKDIR /app

# Command to run
CMD ["python3", "app.py"]

🌐 Docker Compose

ตัวอย่าง docker-compose.yml

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
  db:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: example

🔥 คำสั่งทั่วไป

คำสั่ง รายละเอียด
docker-compose up สั่งทำงาน services ที่อยู่ใน docker-compose.yml
docker-compose down หยุดและลบ containers
docker-compose logs ดู log ของ services

📘 เคล็ดลับที่เป็นประโยชน์

การจัดการ Container:

ใช้คำสั่ง docker run -d เพื่อรันคอนเทนเนอร์ในโหมด detached ซึ่งจะทำให้คอนเทนเนอร์ทำงานในพื้นหลัง โดยไม่แสดงผลลัพธ์ในเทอร์มินัล

การลบข้อมูล:

ใช้คำสั่ง docker system prune เพื่อ ลบข้อมูลที่ไม่ได้ใช้งาน และช่วยคืนพื้นที่ดิสก์ โดยคำสั่งนี้จะลบคอนเทนเนอร์ที่หยุดทำงาน, เครือข่ายที่ไม่ได้ใช้งาน, และ images ที่ไม่ถูกใช้งาน รวมถึง cache ที่ไม่ได้ใช้งานด้วย

การช่วยเหลือ:

หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งใด ๆ ให้ใช้ docker <command> --help เพื่อดูรายละเอียดและตัวเลือกต่าง ๆ ที่สามารถใช้ได้

🔗 แหล่งข้อมูล

Arnon Kijlerdphon

Arnon Kijlerdphon

Board game & Plant-based & Minimalist, it's all my life.
Bangkok, Thailand