สำหรับคนที่จะเข้าสู่วงการ selfhost สิ่งที่คุณจำเป็นที่จะต้องรู้จักและจะได้ใช้บ่อยมากๆก็คือ docker ไม่เฉพาะคนที่อยาก selfhost แต่ developer ยุคใหม่อย่างเราก็ควรที่จะต้องรู้จักและใช้งานให้เป็น (ใน blog นี้ไม่ได้สอนใช้นะครับ😅)
ก่อนติดตั้ง
สำหรับใน blog นี้จะเป็นการติดตั้ง Docker บน Ubuntu Server 22.04 คนที่ใช้ระบบปฏิบัติการเวอร์ชั่นอื่นๆ ก็สามารถทำตามได้ครับใช้วิธีเดียวกัน
ปกติเราสามารถติดตั้ง docker ด้วยคำสั่ง apt install บน Ubuntu ได้เลย แต่ การติดตั้งแบบนี้อาจจะไม่ได้เวอร์ชั่นล่าสุด ซึ่งเป็นสิ่งที่ไม่แนะนำ ดังนั้นเพื่อให้ได้เวอร์ชั่นล่าสุด เราจะติดตั้งจาก Official Docker repository
การติดตั้ง
ก่อนจะติดตั้งควรอัปเดต 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
โดยจะเห็นว่าตอนนี้ยังไม่ได้ติดตั้ง แต่พร้อมที่จะติดตั้งตามเวอร์ชั่นที่เห็นตรง 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 ได้โดยไม่ต้องใช้ sudo (ไม่จำเป็น)
sudo usermod -aG docker ${USER} | su - ${USER}
หรือต้องการให้สิทธ์โดยเจาะจง user สามารถทำได้ด้วยคำสั่ง
sudo usermod -aG docker username
จบไปแล้วนะครับสำหรับวิธีการติดตั้ง docker สำหรับการใช้งาน docker นั้นไว้มีโอกาศจะมาเขียนแนะนำการใช้งานให้นะครับ😁 ขอบคุณทุกคนที่อ่านจนจบครับ