สคริปต์อัตโนมัติสำหรับติดตั้ง Docker และ Docker Compose บนระบบปฏิบัติการ Linux
โปรเจกต์นี้เป็นสคริปต์ Bash ที่ช่วยในการติดตั้ง Docker CE (Community Edition) และ Docker Compose พร้อมกับปลั๊กอินที่จำเป็นบนระบบปฏิบัติการ Linux หลายตัวอย่างอัตโนมัติ สคริปต์นี้จะทำการติดตั้งและกำหนดค่าให้พร้อมใช้งานโดยไม่ต้องทำด้วยตนเอง
สคริปต์นี้รองรับระบบปฏิบัติการ Linux ดังต่อไปนี้:
- Ubuntu (ทุกเวอร์ชัน)
- Debian (ทุกเวอร์ชัน)
- CentOS (เวอร์ชัน 7 ขึ้นไป)
- Rocky Linux
- AlmaLinux
ก่อนการใช้งานสคริปต์ ตรวจสอบให้แน่ใจว่า:
- สิทธิ์ sudo: ผู้ใช้ต้องมีสิทธิ์ sudo เพื่อติดตั้งแพ็กเกจและกำหนดค่าระบบ
- การเชื่อมต่ออินเทอร์เน็ต: ต้องมีการเชื่อมต่ออินเทอร์เน็ตเพื่อดาวน์โหลดแพ็กเกจ
- ระบบที่รองรับ: ระบบปฏิบัติการต้องเป็นหนึ่งในรายการที่รองรับข้างต้น
# ใช้ git clone
git clone https://github.com/issarapong/docker.git
cd docker
# หรือดาวน์โหลดไฟล์โดยตรง
wget https://raw.githubusercontent.com/issarapong/docker/main/install.sh
chmod +x install.sh
./install.sh
เมื่อเรียกใช้สคริปต์สำเร็จ ระบบจะได้รับการติดตั้งและกำหนดค่าดังต่อไปนี้:
- Docker CE (Community Edition) - เวอร์ชันล่าสุด
- Docker CLI - เครื่องมือบรรทัดคำสั่งสำหรับจัดการ Docker
- containerd.io - รันไทม์คอนเทนเนอร์
- Docker Buildx Plugin - เครื่องมือสร้าง Docker image ขั้นสูง
- Docker Compose Plugin - เครื่องมือจัดการคอนเทนเนอร์หลายตัว
- Docker Service: เปิดใช้งานและเริ่มต้นบริการ Docker อัตโนมัติ
- User Group: เพิ่มผู้ใช้ปัจจุบันเข้ากลุ่ม
docker
เพื่อใช้งานโดยไม่ต้อง sudo
หลังจากติดตั้งเสร็จสิ้น ให้ออกจากระบบและเข้าสู่ระบบใหม่ หรือเรียกใช้คำสั่ง:
newgrp docker
ตรวจสอบว่า Docker ทำงานได้ปกติ:
# ตรวจสอบเวอร์ชัน Docker
docker --version
# ตรวจสอบเวอร์ชัน Docker Compose
docker compose version
# ทดสอบเรียกใช้คอนเทนเนอร์
docker run hello-world
# ตรวจสอบสถานะบริการ Docker
sudo systemctl status docker
# ตรวจสอบข้อมูลระบบ Docker
docker info
# แสดงรายการคอนเทนเนอร์ที่กำลังทำงาน
docker ps
# แสดงรายการคอนเทนเนอร์ทั้งหมด
docker ps -a
# เรียกใช้คอนเทนเนอร์
docker run -d --name mycontainer nginx
# หยุดคอนเทนเนอร์
docker stop mycontainer
# ลบคอนเทนเนอร์
docker rm mycontainer
# แสดงรายการ Image
docker images
# ดาวน์โหลด Image
docker pull ubuntu:latest
# ลบ Image
docker rmi ubuntu:latest
หากพบข้อผิดพลาด "permission denied" ตรวจสอบว่า:
- ผู้ใช้อยู่ในกลุ่ม docker:
groups $USER
- หากยังไม่อยู่ในกลุ่ม:
sudo usermod -aG docker $USER
- ออกจากระบบและเข้าใหม่
หากไม่สามารถเชื่อมต่อ repository ได้:
# อัปเดต package list
sudo apt update # สำหรับ Ubuntu/Debian
sudo yum update # สำหรับ CentOS/Rocky/AlmaLinux
หากบริการ Docker ไม่เริ่มต้น:
# เริ่มบริการ Docker
sudo systemctl start docker
# ตรวจสอบ log
sudo journalctl -u docker
- การเพิ่มผู้ใช้เข้ากลุ่ม
docker
จะให้สิทธิ์เทียบเท่า root ในการเข้าถึงระบบ - ควรใช้ความระมัดระวังเมื่อเรียกใช้คอนเทนเนอร์จากแหล่งที่ไม่น่าเชื่อถือ
- Docker จะได้รับการอัปเดตผ่านระบบ package manager ปกติ
- ใช้
sudo apt upgrade
หรือsudo yum update
เพื่ออัปเดต
หากต้องการถอนการติดตั้ง Docker:
# สำหรับ Ubuntu/Debian
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# สำหรับ CentOS/Rocky/AlmaLinux
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# ลบข้อมูลและไฟล์กำหนดค่า
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
- เอกสาร Docker อย่างเป็นทางการ
- คู่มือการใช้งาน Docker Compose
- Docker Hub - สำหรับค้นหา Docker Image
หากพบปัญหาหรือมีข้อสงสัย สามารถ:
- ตรวจสอบ Issues ใน GitHub repository
- สร้าง Issue ใหม่หากไม่พบคำตอบ
- ศึกษาเอกสารจากแหล่งข้อมูลเพิ่มเติมข้างต้น
หมายเหตุ: สคริปต์นี้ได้รับการทดสอบบนระบบปฏิบัติการที่รองรับ แต่ผลลัพธ์อาจแตกต่างกันขึ้นอยู่กับการกำหนดค่าของระบบแต่ละเครื่อง