Nội dung chính
Docker hiện nay là công cụ không thể thiếu đối với các lập trình viên và quản trị viên hệ thống. Tuy nhiên, việc cài đặt Docker từ các kho mặc định của hệ điều hành thường dẫn đến việc sử dụng phiên bản cũ.
Trong bài viết này, mình sẽ hướng dẫn anh em cách cài đặt Docker Engine và Docker Compose Plugin theo phương pháp chính thống từ trang chủ Docker. Cách này đảm bảo tính ổn định, bảo mật và giúp bạn luôn cập nhật được các tính năng mới nhất trên nền tảng Linux (Ubuntu/Debian).
Ngoài ra, cuối bài viết mình sẽ hướng dẫn thêm cách cài đặt Portainer để quản lý Docker qua giao diện Web cực kỳ tiện lợi.
Cài đặt Docker Engine và Docker Compose Plugin
Chúng ta sẽ sử dụng kho lưu trữ (repository) chính thức của Docker thay vì kho mặc định của Ubuntu/Debian.
Bước 1: Thiết lập kho lưu trữ Docker
Đầu tiên, hãy mở Terminal và chạy các lệnh sau để cập nhật hệ thống và cài đặt các gói hỗ trợ cần thiết:
sudo apt update
sudo apt install ca-certificates curl gnupg
Tiếp theo, thêm khóa GPG chính thức của Docker để đảm bảo tính an toàn cho các gói cài đặt:
sudo install -m 0755 -d /etc/apt/keyrings
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
Cuối cùng, thêm kho lưu trữ Docker vào danh sách nguồn của hệ thống:
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
Cập nhật lại chỉ mục gói sau khi thêm kho lưu trữ mới.
sudo apt update
Bước 2: Cài đặt Docker Engine và Docker Compose
Bây giờ bạn có thể cài đặt toàn bộ bộ công cụ bao gồm Docker Engine, CLI, containerd và Docker Compose Plugin (phiên bản mới thay thế cho docker-compose cũ):
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Bước 3: Cấu hình chạy Docker không cần sudo (Khuyên dùng)
Mặc định, bạn phải dùng sudo mỗi khi gõ lệnh Docker. Để thuận tiện hơn, hãy thêm người dùng hiện tại vào nhóm docker:
sudo usermod -aG docker $USER
Kích hoạt thay đổi ngay lập tức mà không cần đăng xuất.
newgrp docker
Bước 4: Thiết lập Docker khởi động cùng hệ thống
Để đảm bảo Docker luôn chạy sau khi bạn khởi động lại máy chủ (VPS/Server):
Kích hoạt dịch vụ Docker khởi động cùng hệ thống.
sudo systemctl enable docker
Kiểm tra trạng thái dịch vụ.
sudo systemctl status docker
Kiểm tra cài đặt
Sau khi hoàn tất các bước trên, hãy kiểm tra xem Docker và Docker Compose đã được cài đặt thành công hay chưa bằng các lệnh sau:
Kiểm tra phiên bản Docker đang sử dụng:
docker --version
Kiểm tra phiên bản của Docker Compose:
docker compose version
Nếu hệ thống trả về thông tin phiên bản (Ví dụ: Docker version 24.x.x…) thì bạn đã cài đặt thành công.
Cài đặt Portainer
Nếu bạn không quen sử dụng dòng lệnh (CLI), Portainer là giải pháp tuyệt vời để quản lý Container, Image, và Network qua giao diện trực quan.
Thực hiện lần lượt 2 lệnh sau:
1. Tạo volume để lưu trữ dữ liệu cấu hình của Portainer:
docker volume create portainer_data
2. Tải và chạy container Portainer:
docker run -d -p 9443:9443 --name portainer --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ce:latest
Sau khi chạy xong, hãy mở trình duyệt web và truy cập theo địa chỉ: https://<IP-Của-Bạn>:9443. Là https chứ không phải http nha. Ví dụ:
https://192.168.88.11:9443/
Lưu ý: Bạn cần thay bằng địa chỉ IP của máy chủ/VPS. Ở lần truy cập đầu tiên, Portainer sẽ yêu cầu bạn tạo tài khoản & mật khẩu quản trị.
Các lệnh Docker Compose thường dùng
Sau khi đã cài đặt thành công, việc nắm vững các lệnh cơ bản là rất quan trọng để vận hành hệ thống. Lưu ý: Vì chúng ta cài đặt phiên bản Docker Compose Plugin (bản mới), nên cú pháp lệnh sẽ là docker compose (có dấu cách) thay vì docker-compose (có dấu gạch ngang) như các bản cũ.
Đảm bảo bạn đang đứng ở thư mục chứa file docker-compose.yml trước khi chạy các lệnh sau:
Khởi chạy dịch vụ (Start)
Đây là lệnh phổ biến nhất để bắt đầu tải images, tạo containers và chạy ứng dụng:
docker compose up -d
Dừng và gỡ bỏ dịch vụ
Khi bạn muốn tắt ứng dụng và dọn dẹp hệ thống:
Dừng container nhưng KHÔNG xóa container (dữ liệu tạm trong container vẫn còn).
docker compose stop
Dừng và XÓA các container, networks đã tạo (Dữ liệu trong Volume vẫn an toàn).
docker compose down
Dừng, xóa container và xóa luôn cả các Volume dữ liệu (Cẩn thận khi dùng lệnh này!).
docker compose down -v
Xem nhật ký hoạt động
Xem toàn bộ log hiện có:
docker compose logs
Xem log và tiếp tục theo dõi log mới theo thời gian thực (Giống lệnh tail -f)
docker compose logs -f
Xem 100 dòng log cuối cùng
docker compose logs --tail=100
Cập nhật ứng dụng
Quy trình chuẩn để cập nhật một ứng dụng Docker Compose lên phiên bản mới nhất:
Bước 1: Tải về image mới nhất từ Docker Hub
docker compose pull
Bước 2: Tái tạo lại container với image mới (chỉ container nào có thay đổi mới bị recreate)
docker compose up -d
Mẹo nhỏ: Bạn có thể kết hợp việc cài đặt Portainer (ở mục 3) để quản lý các thao tác trên bằng giao diện đồ họa thay vì gõ lệnh, sẽ trực quan hơn rất nhiều cho người mới bắt đầu.
Chúc các bạn cài đặt thành công! Nếu có bất kỳ thắc mắc nào, hãy để lại bình luận bên dưới nhé.
