Hướng Dẫn Cài Đặt Docker (Production Grade)
👨💻 Tony DevOps
•
📅 Update: Dec 2025
•
#DEVOPS
⚠️ Nguyên tắc cốt lõi cho Production:
- Cài từ Official Repo của Docker (tránh gói
docker.io cũ của Ubuntu).
- Tuyệt đối không thêm user vào group
docker (Rủi ro bảo mật root).
- Cấu hình Log Rotation để tránh tràn ổ cứng server.
Phần 1: Chuẩn bị hệ thống
Trước tiên, cần xóa sạch các phiên bản cũ (nếu có) để tránh xung đột dependencies.
# 1. Gỡ bỏ các phiên bản cũ
sudo apt-get remove docker docker-engine docker.io containerd runc
# 2. Cài đặt dependency cần thiết
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
Phần 2: Thiết lập Official Repository
Chúng ta sẽ cấu hình để apt tải Docker trực tiếp từ nguồn chính chủ thay vì mirror của Ubuntu.
# 1. Tạo thư mục chứa keyrings
sudo install -m 0755 -d /etc/apt/keyrings
# 2. Tải GPG Key (Khóa xác thực)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 3. Thêm Repo vào danh sách nguồn
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 4. Update lại hệ thống
sudo apt-get update
Phần 3: Cài đặt Docker Engine
Cài đặt gói Docker CE (Community Edition) và Plugin Compose (V2) mới nhất.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Phần 4: Cấu hình Production (Quan trọng)
4.1. Cấu hình Log Rotation (Chống tràn ổ cứng)
Mặc định Docker không giới hạn dung lượng log container. Ta cần sửa file daemon.json:
# 1. Mở file cấu hình
sudo nano /etc/docker/daemon.json
# 2. Paste nội dung sau vào:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
4.2. Khởi động Service
sudo systemctl daemon-reload
sudo systemctl start docker
sudo systemctl enable docker
Phần 5: Bảo mật & Alias Tiện ích
⛔ SECURITY WARNING:
Không chạy lệnh sudo usermod -aG docker $USER trên server Production. Điều này tương đương với việc trao quyền Root không cần mật khẩu cho user đó.
Thay vì add user vào group, ta tạo lệnh tắt (alias) để tự động thêm sudo khi gõ lệnh. An toàn và tiện lợi.
# Chạy lệnh này để ghi alias vào cuối file .bashrc
echo "alias d='sudo docker'" >> ~/.bashrc
echo "alias dc='sudo docker compose'" >> ~/.bashrc
# Kích hoạt ngay lập tức
source ~/.bashrc
💡 Tip Troubleshooting:
Nếu gặp lỗi “Command not found” sau khi tạo alias, hãy kiểm tra file ~/.bashrc xem có bị lỗi dấu nháy (quote) do copy paste không. Hãy dùng lệnh nano ~/.bashrc để sửa lại.
Phần 6: Kiểm tra kết quả
Sử dụng alias d và dc vừa tạo để kiểm tra phiên bản:
# Kiểm tra docker
d ps
# Kiểm tra compose
dc version
TonyNguyen.Top – Code with Passion.