คู่มือการใช้ 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
เพื่อดูรายละเอียดและตัวเลือกต่าง ๆ ที่สามารถใช้ได้