Skip to content

Cài đặt Docker Chuẩn Production

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 ddc 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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Contact