การติดตั้ง Docker บน Rocky Linux 9

การติดตั้ง Docker บน Rocky Linux 9

Docker กลายเป็นเทคโนโลยีสำคัญในงานพัฒนาและบริหารระบบสมัยใหม่ ด้วยความสามารถในการสร้างสภาพแวดล้อมแบบคอนเทนเนอร์ที่เบา ยืดหยุ่น และพกพาง่าย ทำให้องค์กรสามารถจัดการ Application ได้มีประสิทธิภาพกว่า VM แบบดั้งเดิม บทความนี้นำเสนอขั้นตอนการติดตั้ง Docker บน Rocky Linux 9 อย่างครบถ้วน ตั้งแต่การเตรียมระบบ ไปจนถึงการทดสอบคอนเทนเนอร์แรก เพื่อให้พร้อมนำไปใช้จริงในงานด้าน DevOps, CI/CD และระบบ Cloud-Native


1) เตรียมระบบ

อัปเดตแพ็กเกจให้เป็นเวอร์ชันล่าสุดก่อนเริ่มงาน

sudo dnf update -y

sudo dnf install -y dnf-plugins-core


2) เพิ่ม Repository ของ Docker

ค่าเริ่มต้นใน Rocky Linux 9 ไม่มี Docker Engine ดังนั้นต้องเพิ่ม repo จาก Docker ก่อน

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

– Docker ใช้ repo ของ CentOS แต่รองรับ RHEL family รวมถึง Rocky/Alma ได้อย่างสมบูรณ์
_________________
Note.
หากยังไม่ได้ ให้ใช้คำสั่งสำรองที่ได้ผล 100% บน RHEL/Rocky/Alma
วิธีที่ 2: โหลดไฟล์ repo ด้วยตนเอง
sudo curl -L https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
ตรวจสอบว่าไฟล์ถูกสร้าง
ls /etc/yum.repos.d/docker-ce.repo
—————————

3) ติดตั้ง Docker Engine + Docker CLI + Containerd

สั่งติดตั้งแพ็กเกจ Docker ทั้งหมด

sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 

4) เปิดบริการและตั้งระบบให้เริ่มอัตโนมัติ

sudo systemctl enable --now docker

ตรวจสอบสถานะ

sudo systemctl status docker

ถ้าขึ้น Active: active (running) แสดงว่าพร้อมใช้งาน


5) เพิ่มสิทธิ์ให้ผู้ใช้รัน Docker โดยไม่ต้องใช้ sudo (ตัวเลือกสำคัญสำหรับ DevOps)

sudo usermod -aG docker $USER

จากนั้น logout / login ใหม่เพื่อให้สิทธิ์ทำงาน


6) ทดสอบระบบด้วย Images ตัวอย่าง

สั่งให้รัน Container “Hello World”

docker run hello-world

หากระบบตอบกลับข้อความยืนยัน แสดงว่าติดตั้งสมบูรณ์


7) ทดสอบ Docker Compose (plugin แบบใหม่)

Docker Compose ถูกติดตั้งในรูปแบบ plugin (v2)

ตรวจสอบเวอร์ชัน

docker compose version

Docker Compose version v2.40.3



8) ตรวจสอบเวอร์ชัน Docker

docker version
docker info

9) ปรับค่า Firewall (หากจำเป็น)

สำหรับระบบที่ใช้งาน Docker Swarm หรือ expose port ออกอินเทอร์เน็ต

sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload

ตัวอย่าง Docker Compose แบบง่าย (Nginx Web Server)

1) สร้างโฟลเดอร์โปรเจกต์

mkdir myweb

cd myweb

2) สร้างไฟล์ docker-compose.yml

nano docker-compose.yml

เขียนไฟล์ดังนี้

services:
web:
image: nginx:latest
container_name: webserver
ports:
– “8080:80”
restart: always

ความหมายของแต่ละส่วน

  • image: ใช้ nginx เวอร์ชันล่าสุด

  • ports: เปิดให้เข้าผ่านพอร์ต 8080 ของเครื่อง → เชื่อมกับพอร์ต 80 ใน container

  • restart: always: ถ้า container หลุด จะเริ่มใหม่อัตโนมัติ


3) รัน Docker Compose

docker compose up -d

4) ตรวจสอบสถานะ Container

docker ps

5) ทดสอบ

เปิดเว็บเบราว์เซอร์เข้า

http://YOUR_SERVER_IP:8080

เช่น
http://192.168.56.103:8080/
ระบบจะแสดงหน้า Nginx Welcome Page ทันที


🔄 ปิดการทำงาน และรีสต๊าท Container

หยุด

docker compose down

Restart แบบไม่ปิด volume

docker compose restart

ตัวอย่าง Docker Compose แบบง่าย (PHP + Apache)

ถ้าต้องการเพิ่มแอปพลิเคชัน PHP ด้วย ก็สามารถใช้แบบนี้ได้เช่นกัน:

services:
   php:
        image: php:8.2-apache
       container_name: php_server
       ports:
             – “8080:80”
       volumes:
             – ./html:/var/www/html
      restart: always


สร้างโฟลเดอร์ html

 
mkdir html
echo "<?php phpinfo(); ?>" > html/index.php

รัน

docker compose up -d

เข้าใช้งาน:

http://YOUR_SERVER_IP:8080
เช่น 
http://192.168.56.103:8080/
 

สรุป

การติดตั้ง Docker บน Rocky Linux 9 สามารถทำได้อย่างรวดเร็วผ่านการเพิ่ม Repository อย่างเป็นทางการของ Docker และติดตั้งผ่าน dnf เพียงไม่กี่คำสั่ง เมื่อระบบพร้อมแล้ว ผู้ดูแลระบบสามารถนำ Docker ไปใช้สร้างสภาพแวดล้อมคอนเทนเนอร์สำหรับงานพัฒนา ทดสอบ และผลิตจริงได้ทันที รวมถึงรองรับ Docker Compose แบบ plugin รุ่นใหม่ ทำให้การปรับใช้ระบบแบบ Multi-container เป็นเรื่องง่ายและมีประสิทธิภาพมากขึ้น

———-
บทความนี้อัปเดทต่อจากบทความ : การติดตั้ง Docker บน Rocky Linux


เขียนและรวบรวมโดย
Dr.Arnut Ruttanatirakul
Technology Lecturer, KMITL
21 November 2025