ติดตั้ง docker บน Ubuntu Server

ติดตั้ง docker บน Ubuntu Server

สำหรับคนที่จะเข้าสู่วงการ selfhost สิ่งที่คุณจำเป็นที่จะต้องรู้จักและจะได้ใช้บ่อยมากๆก็คือ docker ไม่เฉพาะคนที่อยาก selfhost แต่ developer ยุคใหม่อย่างเราก็ควรที่จะต้องรู้จักและใช้งานให้เป็น (ใน blog นี้ไม่ได้สอนใช้นะครับ😅)

ก่อนติดตั้ง

สำหรับใน blog นี้จะเป็นการติดตั้ง Docker บน Ubuntu Server 22.04 คนที่ใช้ระบบปฏิบัติการเวอร์ชั่นอื่นๆ ก็สามารถทำตามได้ครับใช้วิธีเดียวกัน

ปกติเราสามารถติดตั้ง docker ด้วยคำสั่ง apt install บน Ubuntu ได้เลย แต่ การติดตั้งแบบนี้อาจจะไม่ได้เวอร์ชั่นล่าสุด ซึ่งเป็นสิ่งที่ไม่แนะนำ ดังนั้นเพื่อให้ได้เวอร์ชั่นล่าสุด เราจะติดตั้งจาก Official Docker repository

📌
user ที่จะติดตั้งต้องมีสิทธ์ sudo บนเครื่องนั้นๆด้วย

การติดตั้ง

ก่อนจะติดตั้งควรอัปเดต apt ก่อน

sudo apt update

ติดตั้ง package ที่จำเป็นเพื่อให้ apt ใช้ package บน https ได้

sudo apt install apt-transport-https ca-certificates curl software-properties-common

เพิ่ม GPG key สำหรับ Official Docker repository ลงบนเครื่องของเรา

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

เพิ่ม Docker repository เข้า apt source

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

อัปเดต apt อีกรอบหลังจากเพิ่ม docker repository เข้าไป

sudo apt update

ตรวจสอบว่า apt ได้ repository เวอร์ชั่นล่าสุดมาแล้วโดยใช้คำสั่งนี้

apt-cache policy docker-ce
docker-ce:
  Installed: (none)
  Candidate: 5:20.10.23~3-0~ubuntu-focal
  Version table:
 *** 5:20.10.23~3-0~ubuntu-focal 500
        500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
        100 /var/lib/dpkg/status
     5:20.10.22~3-0~ubuntu-focal 500
        500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages
จะได้ข้อมูลออกมาคล้ายๆกับแบบนี้

โดยจะเห็นว่าตอนนี้ยังไม่ได้ติดตั้ง แต่พร้อมที่จะติดตั้งตามเวอร์ชั่นที่เห็นตรง candidate

ติดตั้ง docker

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

ในขั้นตอนนี้อาจจะใช้เวลาสักพักโดยเป็นการโหลดและติดตั้ง docker บนเครื่องของเรา

ตรวจสอบว่า docker รันอยู่หรือไม่

sudo systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset>
     Active: active (running) since Thu 2023-01-26 04:46:28 UTC; 9h ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 1087 (dockerd)
      Tasks: 403
     Memory: 224.8M
     CGroup: /system.slice/docker.service
             ├─  1087 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/co>
ℹ️
docker service จะทำงานเป็น daemon และจะถูกรันอัตโนมัติเมื่อเปิดเครื่อง

เพิ่มสิทธ์ให้ใช้ docker ได้โดยไม่ต้องใช้ sudo (ไม่จำเป็น)

⚠️
docker โดยปกติจะต้องใช้ user ที่มีสิทธ์ root หรือ sudo เท่านั้น (แนะนำ) แต่ถ้าหากต้องการให้ user อื่นใช้ได้ก็สามารถเพิ่มสิทธ์โดยใช้คำสั่งนี้
sudo usermod -aG docker ${USER} | su - ${USER}

หรือต้องการให้สิทธ์โดยเจาะจง user สามารถทำได้ด้วยคำสั่ง

sudo usermod -aG docker username

จบไปแล้วนะครับสำหรับวิธีการติดตั้ง docker สำหรับการใช้งาน docker นั้นไว้มีโอกาศจะมาเขียนแนะนำการใช้งานให้นะครับ😁 ขอบคุณทุกคนที่อ่านจนจบครับ

เครดิต