Docker สำหรับ Ubuntu: คู่มือเริ่มต้นใช้งานและวิธีติดตั้งคอนเทนเนอร์อย่างละเอียด

目次

1. Docker คืออะไร? ความสัมพันธ์กับ Ubuntu

Docker คือเทคโนโลยีการจำลองสภาพแวดล้อม (virtualization) ที่สามารถบรรจุแอปพลิเคชันและการตั้งค่าต่างๆ ลงใน “คอนเทนเนอร์” ทำให้สามารถรันแอปฯ นั้นบนเซิร์ฟเวอร์หรือคอมพิวเตอร์เครื่องใดก็ได้โดยไม่ต้องกังวลเรื่องความแตกต่างของสภาพแวดล้อม เหมือนกับการใช้งานบนเครื่องตัวเอง ต่างจาก VM (Virtual Machine) ทั่วไป ตรงที่ Docker จะรันคอนเทนเนอร์โดยตรงบน Host OS จึงเบาและเร็วกว่า

โดยเฉพาะอย่างยิ่ง ระบบปฏิบัติการ Linux เช่น Ubuntu มีความเข้ากันได้กับ Docker สูงมาก นักพัฒนาซอฟต์แวร์และผู้ดูแลเซิร์ฟเวอร์ทั้งในองค์กรและบุคคลทั่วไปนิยมใช้งานกันอย่างแพร่หลาย เหตุผลเพราะ Ubuntu เป็นโอเพนซอร์ส ใช้งานฟรี มีแพ็กเกจและซัพพอร์ตครบถ้วน ติดตั้งและอัปเดตง่าย

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

บทความนี้จะอธิบายขั้นตอนการติดตั้ง Docker บน Ubuntu และการรันคอนเทนเนอร์ Ubuntu อย่างละเอียด เหมาะกับทั้งมือใหม่ที่เพิ่งเริ่มต้นหรือผู้ที่ต้องการทบทวนพื้นฐานก็สามารถนำไปใช้ได้

2. สภาพแวดล้อมและเงื่อนไขที่จำเป็น

การใช้งาน Docker บน Ubuntu จำเป็นต้องเตรียมสภาพแวดล้อมและตรวจสอบเงื่อนไขบางประการล่วงหน้า เพื่อให้ติดตั้งและใช้งานได้อย่างราบรื่น จึงขอสรุปจุดสำคัญที่ควรเตรียมไว้ล่วงหน้า

เกี่ยวกับเวอร์ชันของ Ubuntu

Docker แนะนำให้ใช้บน Ubuntu 18.04 LTS หรือใหม่กว่า โดยเฉพาะ Ubuntu 20.04 LTS, 22.04 LTS และ 24.04 LTS ซึ่งเป็นเวอร์ชันสนับสนุนระยะยาว (LTS) หากใช้เวอร์ชันเก่าอาจเกิดปัญหาเรื่องแพ็กเกจหรือ dependency ควรเลือกใช้ LTS ที่ใหม่ที่สุด

ข้อกำหนดของระบบ (System Requirements)

แม้ Docker จะเป็นเทคโนโลยีที่เบา แต่หากใช้งานหลายคอนเทนเนอร์หรือใช้พัฒนา/ทดสอบ ต้องมีทรัพยากรขั้นต่ำดังนี้

  • ติดตั้ง Ubuntu แบบ 64 บิต (ไม่รองรับ 32 บิต)
  • CPU: แนะนำ 2 คอร์ขึ้นไป
  • แรม: 2GB ขึ้นไป (4GB ขึ้นไปจะใช้งานได้ลื่น)
  • พื้นที่ว่างในดิสก์: อย่างน้อย 10GB

การเชื่อมต่ออินเทอร์เน็ต

การติดตั้ง Docker และดาวน์โหลดอิมเมจต้องใช้การเชื่อมต่ออินเทอร์เน็ต โดยเฉพาะครั้งแรกจะต้องดาวน์โหลดข้อมูลขนาดใหญ่ ควรใช้เน็ตที่เสถียร

สิทธิ์ผู้ใช้ (User Permission)

การติดตั้งและจัดการระบบ Docker จำเป็นต้องใช้สิทธิ์ root หรือ sudo หากใช้แค่ user ปกติ ให้ขอสิทธิ์จากผู้ดูแลระบบหรือเพิ่มสิทธิ์ชั่วคราวก่อน

การลบแพ็กเกจ Docker เก่า

ถ้าเคยติดตั้งแพ็กเกจ “docker” หรือ “docker.io” มาก่อน ควรถอดออกเพื่อป้องกันปัญหา/ความขัดแย้งกับเวอร์ชันใหม่

sudo apt-get remove docker docker-engine docker.io containerd runc

วิธีนี้จะช่วยป้องกันปัญหาที่อาจเกิดจากการมีแพ็กเกจเก่า

สรุป

โปรดตรวจสอบรายละเอียดในบทนี้และเตรียมสภาพแวดล้อมให้พร้อม ก่อนจะไปสู่ขั้นตอนติดตั้งและตั้งค่าในบทถัดไป หากเตรียมครบ การติดตั้ง Docker จะง่ายและรวดเร็ว

3. ติดตั้งและตั้งค่า Docker Engine

หัวข้อนี้จะแนะนำวิธีติดตั้ง Docker Engine บน Ubuntu และขั้นตอนการตั้งค่าพื้นฐาน การติดตั้งผ่าน official repository จะได้ Docker เวอร์ชันใหม่ล่าสุดและเสถียรที่สุด

เพิ่ม official repository และเตรียมแพ็กเกจ

ขั้นแรกให้เพิ่ม repository ของ Docker เข้า apt และดำเนินการในเทอร์มินัลตามขั้นตอนนี้

  1. ติดตั้งแพ็กเกจที่จำเป็น
sudo apt-get update
sudo apt-get install 
    ca-certificates 
    curl 
    gnupg 
    lsb-release
  1. เพิ่ม GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  1. เพิ่ม Docker repository
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
  $(lsb_release -cs) stable" | 
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

ติดตั้ง Docker Engine

หลังจากเพิ่ม repository แล้ว ให้ติดตั้ง Docker Engine ด้วยคำสั่งนี้

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

เมื่อติดตั้งเสร็จ ให้เช็คเวอร์ชันว่า Docker ติดตั้งสมบูรณ์หรือไม่

docker --version

ตัวอย่างเช่น ถ้าแสดงผลว่า “Docker version 25.0.3, build 1234567” แสดงว่าติดตั้งสำเร็จ

เกี่ยวกับ Docker Desktop (เพิ่มเติม)

บน Ubuntu นิยมใช้ “Docker Engine” เป็นหลัก แต่ปัจจุบันมี “Docker Desktop for Linux” ซึ่งมีหน้าต่าง GUI ให้เลือกใช้ได้ด้วย หากเน้นใช้งานผ่าน CLI (command line) ใช้แค่ Docker Engine ก็เพียงพอ

หากเกิดปัญหาระหว่างติดตั้ง

หากขึ้น error ว่า “ไม่พบแพ็กเกจ” ให้ตรวจสอบว่าตั้งค่า repository และ GPG key ถูกต้องหรือไม่ หรือถ้ามีแพ็กเกจ Docker เก่าอยู่ อาจเกิดปัญหาขัดแย้ง ให้กลับไปตรวจสอบขั้นตอนการถอดแพ็กเกจในบทที่ 2

4. ใช้ docker command ได้โดยไม่ต้องใช้ sudo

หลังติดตั้ง Docker ใหม่ๆ จะต้องใช้สิทธิ์ root หรือ sudo ในการสั่งงาน ซึ่งยุ่งยากและมีความเสี่ยงในการเปลี่ยนแปลงระบบโดยไม่ตั้งใจ วิธีที่แนะนำคือ เพิ่ม user ของเราลงในกลุ่ม “docker” จะสามารถสั่ง Docker ได้โดยไม่ต้องใช้ sudo

ขั้นตอนการเพิ่ม user ลงกลุ่ม docker

  1. เพิ่ม user ของเราเข้า docker group
    ใช้คำสั่งด้านล่างนี้ ($USER จะถูกแทนด้วยชื่อ user ปัจจุบัน)
sudo usermod -aG docker $USER
  1. ให้ตั้งค่ามีผล
    หลังเพิ่มกลุ่มเสร็จ ต้อง logout แล้ว login ใหม่ (หรือใช้คำสั่งข้างล่างเพื่อให้มีผลทันที)

หากต้องการให้มีผลทันที สามารถใช้คำสั่งนี้

newgrp docker
  1. ตรวจสอบ
    ลองรัน Docker โดยไม่ใช้ sudo เช่นด้านล่างนี้ ถ้าแสดงเวอร์ชันได้ แปลว่าสำเร็จ
docker version

เพิ่มเติม: เรื่องความปลอดภัย

เมื่อเพิ่ม user ลงกลุ่ม docker จะได้สิทธิ์สูง ควรระวังในระบบที่มีหลายผู้ใช้ หากใช้ในองค์กรหรือเซิร์ฟเวอร์กลาง แนะนำให้ตรวจสอบนโยบายด้านความปลอดภัย สำหรับการใช้งานส่วนตัวหรือเครื่องพัฒนาโดยทั่วไปไม่มีปัญหา

หลังตั้งค่านี้แล้วจะใช้งาน Docker ได้สะดวกขึ้นมาก

5. การสั่ง start/stop และตั้งค่า autostart ให้ Docker Daemon

Docker จะรันในรูปแบบ “daemon” หรือ process ที่อยู่เบื้องหลัง (dockerd) หลังติดตั้ง Docker daemon จะตั้งค่าให้ autostart โดยอัตโนมัติ สามารถสั่ง start/stop/restart และตั้ง autostart ตามต้องการได้ ในหัวข้อนี้จะอธิบายวิธีจัดการ Docker daemon บน Ubuntu

สั่ง start/stop/restart Docker daemon

ใช้คำสั่ง systemctl ได้ง่ายๆ ดังนี้

  • สั่งเริ่มทำงาน
sudo systemctl start docker
  • หยุดทำงาน
sudo systemctl stop docker
  • รีสตาร์ท
sudo systemctl restart docker
  • ตรวจสอบสถานะ
sudo systemctl status docker

คำสั่งนี้จะแสดงสถานะและ log ของ Docker daemon

ตั้ง autostart (เปิดอัตโนมัติเมื่อ reboot)

บน Ubuntu สามารถตั้งให้ Docker daemon รันอัตโนมัติหลัง reboot ได้ โดยปกติจะเปิดไว้แล้วตั้งแต่ตอนติดตั้ง หากต้องการเปิด/ปิด autostart สามารถใช้คำสั่งนี้

  • เปิด autostart
sudo systemctl enable docker
  • ปิด autostart
sudo systemctl disable docker

หากต้องการให้รันเองเฉพาะเวลาใช้งานเท่านั้น ให้ disable ได้

เพิ่มเติม: สั่งผ่าน service ก็ได้

สำหรับ Ubuntu รุ่นเก่า หรือผู้ที่ถนัด สามารถใช้ service docker start ได้เช่นกัน แต่ปัจจุบันแนะนำให้ใช้ systemctl เป็นหลัก

ข้อควรตรวจสอบเมื่อเกิด error

  • หาก Docker daemon ไม่ start ให้ตรวจสอบ error ด้วย sudo systemctl status docker
  • บางครั้ง error เกิดจากขาด dependency หรือ config kernel ไม่ตรง
  • ดู log เพิ่มเติมด้วย journalctl -u docker

เท่านี้ก็สามารถควบคุม Docker daemon บน Ubuntu ได้อย่างครบถ้วน

6. วิธีรัน Ubuntu container บน Docker

หัวข้อนี้จะอธิบายวิธีการดึงอิมเมจ Ubuntu มารันบน Docker จริงๆ หลังติดตั้ง Docker แล้วต้องดาวน์โหลด image และสั่งรัน container ของ OS หรือแอปพลิเคชันที่ต้องการ ที่นี่จะเน้นตัวอย่าง Ubuntu image

1. ดึง Ubuntu image (pull)

ใช้ Docker Hub ในการดาวน์โหลดอิมเมจ Ubuntu (เลือกเวอร์ชัน เช่น “22.04” หรือใช้ latest ได้)

docker pull ubuntu:22.04

หรือ

docker pull ubuntu

แนะนำให้ระบุเวอร์ชันชัดเจนเพื่อความแม่นยำ

2. สั่งรัน Ubuntu container ใหม่ (run)

ใช้คำสั่งด้านล่างเพื่อสร้างและเข้าสู่ shell ของ Ubuntu container

docker run -it --name myubuntu ubuntu:22.04 /bin/bash
  • -it: โหมด interactive (เข้า shell)
  • --name myubuntu: กำหนดชื่อคอนเทนเนอร์ (จะตั้งหรือไม่ก็ได้)
  • ubuntu:22.04: อิมเมจที่ใช้
  • /bin/bash: สั่งให้รัน bash ตอนเข้า

คำสั่งนี้จะพาเข้า shell ในคอนเทนเนอร์ Ubuntu ทันที

3. รันแบบ background

สำหรับใช้งาน server หรืออยากให้คอนเทนเนอร์รันค้างไว้ สามารถเพิ่ม option -d (detached) ได้

docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null

ตัวอย่างนี้คอนเทนเนอร์จะรัน background ตลอดเวลา

4. หยุด/เริ่ม container ใหม่

  • หยุดคอนเทนเนอร์
docker stop myubuntu
  • เริ่มคอนเทนเนอร์อีกครั้ง
docker start myubuntu

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

  • ดูคอนเทนเนอร์ที่กำลังรัน
docker ps
  • ดูทั้งหมด (ทั้งรันอยู่และหยุดแล้ว)
docker ps -a

สรุป

ในบทนี้อธิบายตั้งแต่ดึง Ubuntu image → รันคอนเทนเนอร์ → จัดการเบื้องต้น ทดลองใช้งานจริงจะเข้าใจข้อดีของ Docker ได้ชัดเจนยิ่งขึ้น

7. คำสั่ง Docker เบื้องต้นที่ควรรู้

จุดแข็งของ Docker คือการสร้าง/หยุด/ลบคอนเทนเนอร์ได้อย่างง่ายดาย ในหัวข้อนี้จะรวมคำสั่งพื้นฐานที่ใช้บ่อยในการดูแล Ubuntu container ซึ่งเหมาะกับการใช้งานจริง

แสดงรายการคอนเทนเนอร์

  • ดูคอนเทนเนอร์ที่กำลังรัน
docker ps
  • ดูทั้งหมด (รวมที่หยุดแล้ว)
docker ps -a

เริ่ม/หยุด/รีสตาร์ทคอนเทนเนอร์

  • สั่งเริ่มคอนเทนเนอร์
docker start [ชื่อหรือ ID]
  • สั่งหยุด
docker stop [ชื่อหรือ ID]
  • รีสตาร์ท
docker restart [ชื่อหรือ ID]

เชื่อมต่อ/เข้าคอนเทนเนอร์

  • รันคำสั่งหรือเข้า shell ในคอนเทนเนอร์ที่กำลังรัน
docker exec -it [ชื่อหรือ ID] /bin/bash

ลบคอนเทนเนอร์

  • ลบคอนเทนเนอร์
docker rm [ชื่อหรือ ID]
  • ลบแบบบังคับ (แม้กำลังรันอยู่)
docker rm -f [ชื่อหรือ ID]

ลบ image

  • ดูรายการ image ที่ไม่ได้ใช้งาน
docker images
  • ลบ image
docker rmi [ชื่อหรือ ID ของ image]

คำสั่งอื่นที่มีประโยชน์

  • ดู log
docker logs [ชื่อหรือ ID]
  • เช็คพื้นที่ดิสก์ที่ใช้
docker system df

สรุปจุดสำคัญ

  • รู้จัก docker ps, docker start, docker stop, docker exec จะช่วยให้ดูแลและแก้ปัญหาต่างๆ ได้ง่าย
  • ควรลบคอนเทนเนอร์และอิมเมจที่ไม่ใช้แล้วเพื่อประหยัดพื้นที่

8. การแก้ปัญหา/คำถามที่พบบ่อย

ในขณะใช้งาน Docker และ Ubuntu container อาจเจอปัญหาไม่คาดคิด ในบทนี้จะรวมปัญหายอดนิยมและวิธีแก้ที่มักจะค้นหา เช่น “ubuntu docker รันไม่ขึ้น” เป็นต้น

ปัญหาที่พบบ่อยและแนวทางแก้

1. ข้อผิดพลาด “Cannot connect to the Docker daemon”

เกิดขึ้นเมื่อ daemon (dockerd) ไม่รันหรือมีปัญหาเรื่องสิทธิ์

  • วิธีแก้:
  1. ตรวจสอบว่า Docker daemon รันอยู่หรือไม่
    sudo systemctl status docker
  2. หากไม่รัน ให้ start ด้วย
    sudo systemctl start docker
  3. ถ้าต้องใช้ sudo ให้ใส่ sudo หรือเพิ่ม user ลงกลุ่ม docker ตามบทที่ 4

2. ปัญหาแพ็กเกจ Docker เก่าหรือแพ็กเกจขัดแย้ง

ถ้าเคยติดตั้ง “docker”, “docker.io”, “docker-engine” มาก่อน อาจมีปัญหาขัดแย้ง

  • แนวทางแก้: ถอดแพ็กเกจเก่าออก
  sudo apt-get remove docker docker-engine docker.io containerd runc

3. รัน container ไม่สำเร็จ

สาเหตุที่พบบ่อย เช่น พิมพ์ชื่ออิมเมจ/คำสั่งผิด หรือเครื่องมีแรม/ดิสก์ไม่พอ

  • แนวทางแก้:
  • เช็คชื่ออิมเมจหรือคำสั่งว่าไม่ผิด
  • ใช้ docker images ตรวจสอบอิมเมจ
  • เช็คพื้นที่ว่างบนดิสก์หรือแรม

4. ปัญหา port ซ้ำซ้อน

หากรันคอนเทนเนอร์บนพอร์ตที่ถูกใช้งานอยู่จะ error

  • แนวทางแก้:
  • เปลี่ยนไปใช้พอร์ตอื่น
  • หยุด process เดิมที่ใช้พอร์ตนั้น

5. ข้อควรระวังโหมด rootless

โหมด rootless คือการใช้ Docker โดยไม่ต้องใช้ root มีข้อดีด้านความปลอดภัย แต่บางฟีเจอร์อาจใช้ไม่ได้ ให้เช็ค document หรือ error message เพิ่มเติม

Checklist ที่ควรเช็คเวลามีปัญหา

  • ใช้ docker ps -a ตรวจสอบสถานะคอนเทนเนอร์
  • ดู log ด้วย docker logs [ชื่อคอนเทนเนอร์]
  • ดู log ระบบด้วย journalctl -u docker

สรุปจุดสำคัญ

ปัญหา Docker ส่วนใหญ่มักเกี่ยวกับ “สิทธิ์”, “แพ็กเกจ/เวอร์ชันขัดแย้ง”, หรือ “ตั้งค่าผิด” ควรอ่าน error message อย่างใจเย็น และลอง reinstall หรือปรับ config เมื่อจำเป็น

9. สรุปและก้าวต่อไป

บทความนี้อธิบายตั้งแต่การติดตั้ง Docker บน Ubuntu การรัน Ubuntu container พร้อมเทคนิคและเคล็ดลับที่สำคัญ ตั้งแต่พื้นฐานจนถึงการใช้งานจริง

ทบทวนเนื้อหาหลักในบทความนี้

  • Docker คืออะไรและข้อดี
    Ubuntu เหมาะกับ Docker ใช้งานได้เหมือนกันทุกที่
  • สิ่งที่ต้องเตรียมก่อนติดตั้ง
    เช็คเวอร์ชัน Ubuntu, ทรัพยากรเครื่อง, สิทธิ์, แพ็กเกจเก่า ฯลฯ
  • วิธีติดตั้ง Docker Engine
    ติดตั้งจาก official repository ได้ของใหม่และปลอดภัย
  • ตั้งค่าใช้งานโดยไม่ต้อง sudo และจัดการ daemon
    เพิ่ม user ใน group, ใช้ systemctl ควบคุมอัตโนมัติ
  • วิธีรัน container และคำสั่งจัดการต่างๆ
    สร้าง/จัดการ/ดูแลคอนเทนเนอร์และอิมเมจ
  • การแก้ปัญหาที่พบบ่อย
    เรื่องสิทธิ์, แพ็กเกจขัดแย้ง, ตั้งค่าผิด ฯลฯ

ขั้นต่อไป: การใช้งาน Docker ขั้นสูง

ก้าวแรกของการใช้ Docker คือเรียนรู้การรันคอนเทนเนอร์และคำสั่งพื้นฐาน เมื่อคล่องแล้ว ลองพัฒนาไปใช้งานขั้นสูงดังนี้

  • สร้างอิมเมจเองด้วย Dockerfile
    ปรับแต่ง image ให้เหมาะกับงานของตัวเอง
  • ใช้งาน Docker Compose
    บริหารหลาย container พร้อมกัน (เช่น Web + DB)
  • ใช้งาน Volume/Network
    เชื่อมโยงข้อมูลถาวรและจัดการ network ระหว่างคอนเทนเนอร์
  • เรียนรู้ Kubernetes และ container orchestration
    รองรับงานใหญ่หรือ auto scale ในคลาวด์

ทิ้งท้าย

Docker เหมาะกับทั้งสร้าง dev environment, server, ทดสอบ หรือแม้แต่ production จริงๆ ทดลองใช้จะเข้าใจข้อดีและความสะดวกของ Docker ได้ด้วยตัวเอง หากสงสัยหรืออยากรู้อะไรเพิ่มเติม ให้ค้นหาในเอกสารหรือชุมชนออนไลน์ได้เลย

10. FAQ (คำถามที่พบบ่อย)

หัวข้อนี้รวมคำถามและคำตอบยอดนิยมเกี่ยวกับ “ubuntu docker รัน”, เหมาะสำหรับผู้เริ่มต้นหรือคนที่มักเจอปัญหาในงานจริง

Q1. Docker ใช้ได้ทั้ง Ubuntu Desktop และ Server ไหม?

A.
ใช้งานได้ทั้งสองแบบ โดยปกติขั้นตอนและคำสั่งจะคล้ายกัน แต่ Ubuntu Server จะเหมาะกับงาน production เพราะไม่มี GUI ใช้ resource น้อยกว่า

Q2. จำเป็นต้องใช้ Docker Desktop บน Ubuntu ไหม?

A.
ไม่จำเป็น บน Ubuntu ใช้ Docker Engine อย่างเดียวก็เพียงพอ Docker Desktop จะมี GUI ให้ใช้แต่ CLI (command line) นิยมกว่าและเกิดปัญหาน้อย ถ้าชอบ GUI หรือใช้เพื่อการเรียนรู้จะลอง Desktop ก็ได้

Q3. โหมด rootless คืออะไร?

A.
rootless คือการใช้ Docker โดยไม่ต้องใช้ root ช่วยเพิ่มความปลอดภัย เหมาะกับ server ที่ใช้หลาย user แต่บางฟีเจอร์อาจถูกจำกัด ต้องเช็คว่าเหมาะกับงานของคุณหรือไม่

Q4. จะให้ container มีพื้นที่เก็บข้อมูลถาวรได้อย่างไร?

A.
ใช้ Volume หรือ bind mount เพื่อผูก directory ของ host กับ container ได้ แม้ลบ container ข้อมูลจะยังอยู่

ตัวอย่าง:

docker run -v /host/path:/container/path ubuntu:22.04

แบบนี้จะผูกโฟลเดอร์จาก host ไปยัง container ได้

Q5. ตั้งค่าคอนเทนเนอร์หรือ Docker daemon ให้ autostart ยังไง?

A.
ตั้งค่า Docker daemon ให้ autostart ด้วย sudo systemctl enable docker ตามที่อธิบายในบทที่ 5 และหากต้องการให้ container รันเองตอน boot ให้ใช้ option --restart=unless-stopped ขณะสร้าง container

ตัวอย่าง:

docker run --restart=unless-stopped -d --name myubuntu ubuntu:22.04 tail -f /dev/null

Q6. รัน Docker image ของ OS อื่นบน Ubuntu ได้ไหม?

A.
โดยพื้นฐาน image ที่สร้างสำหรับ Linux CPU เดียวกันจะรันได้บน Ubuntu แต่ถ้าเป็น image เฉพาะ Windows หรือ CPU สถาปัตยกรรมอื่นจะรันไม่ได้

Q7. ถ้า image/container มีเยอะเกินไปจะจัดการอย่างไร?

A.
ลบ container หรือ image ที่ไม่ใช้ด้วย docker rm, docker rmi หรือถ้าจะเคลียร์ทีเดียวใช้คำสั่งต่อไปนี้

  • ลบ container ที่หยุดแล้วทั้งหมด
  docker container prune
  • ลบ image ที่ไม่ใช้แล้ว
  docker image prune
  • ลบทุกอย่างที่ไม่ได้ใช้งาน
  docker system prune

Q8. เวลามีปัญหาจะหาข้อมูลหรือขอความช่วยเหลือที่ไหน?

A.
เอกสารหลักของ Docker (https://docs.docker.com/) รวมถึงเว็บไซต์เช่น Qiita และ Stack Overflow สามารถค้นหาด้วย error message ที่พบได้เช่นกัน

Q9. จะเริ่มเรียนรู้ Docker Compose ได้อย่างไร?

A.
Docker Compose คือเครื่องมือสำหรับจัดการหลาย container พร้อมกัน แนะนำอ่าน doc, tutorial และลองแก้ไขไฟล์ docker-compose.yml ดู

Q10. ใช้งานได้กับ Ubuntu รุ่นล่าสุด (เช่น 24.04) หรือไม่?

A.
Docker รองรับ Ubuntu LTS รุ่นใหม่อยู่เสมอ หากใช้ repo และแพ็กเกจล่าสุดจะได้เวอร์ชันเสถียรและปลอดภัย