สำหรับคนที่จะเข้าสู่วงการ 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-cedocker-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 ได้โดยไม่ต้องใช้ sudo (ไม่จำเป็น)
sudo usermod -aG docker ${USER} | su - ${USER}หรือต้องการให้สิทธ์โดยเจาะจง user สามารถทำได้ด้วยคำสั่ง
sudo usermod -aG docker usernameจบไปแล้วนะครับสำหรับวิธีการติดตั้ง docker สำหรับการใช้งาน docker นั้นไว้มีโอกาศจะมาเขียนแนะนำการใช้งานให้นะครับ😁 ขอบคุณทุกคนที่อ่านจนจบครับ