Back to blog

Apr 19, 2025

Cài đặt docker trên ubuntu - Quản lý docker hiệu quả với Portainer

PH

Phineas

@Phineas

cover

Docker là một nền tảng mã nguồn mở giúp đóng gói, phân phối và chạy ứng dụng trong các container. Docker Compose giúp bạn quản lý nhiều container dễ dàng hơn. Trong bài viết này, chúng ta sẽ cài đặt Docker, Docker Compose trên Ubuntu VPS và trực quan hóa quản lý container bằng Portainer.

1 — Cài đặt Docker

Trước khi cài đặt Docker, hãy cập nhật danh sách gói và nâng cấp hệ thống:

bash
sudo apt update && sudo apt upgrade -y

Cài đặt các gói cần thiết để apt có thể sử dụng các gói qua HTTPS:

bash
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

Thêm khóa GPG chính thức của Docker vào hệ thống:

bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Thêm kho lưu trữ Docker vào hệ thống:

bash
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

Cập nhật lại danh sách package:

bash
sudo apt update

Cài đặt Docker Engine:

bash
sudo apt install -y docker-ce docker-ce-cli containerd.io

Kiểm tra trạng thái Docker:

bash
sudo systemctl status docker

Nếu Docker chưa chạy, hãy kích hoạt Docker tự động chạy cùng hệ thống:

bash
sudo systemctl enable --now docke

2 — Kiểm tra Docker Image

Docker container được build từ Docker image. Mặc định, Docker sẽ pull các image này từ Docker Hub – một registry do chính Docker quản lý. Đây là nơi chứa hàng ngàn image có sẵn, giúp bạn deploy container nhanh chóng.

Bất kỳ ai cũng có thể host image của mình lên Docker Hub, vì vậy hầu hết các ứng dụng và hệ điều hành bạn cần đều có thể tìm thấy ở đây.

Tìm kiếm image trên Docker Hub

Để kiểm tra xem bạn có thể truy cập và tải image từ Docker Hub hay không, hãy chạy lệnh sau:

bash
docker search ubuntu

Kết quả sẽ hiển thị danh sách các image có tên chứa "ubuntu", ví dụ:

bash
NAME                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
ubuntu                           Ubuntu is a Debian-based Linux operating sys…   14048     [OK]
websphere-liberty                WebSphere Liberty multi-architecture images …   283       [OK]
ubuntu-upstart                   DEPRECATED, as is Upstart (find other proces…   112       [OK]
neurodebian                      NeuroDebian provides neuroscience research s…   88        [OK]
open-liberty                     Open Liberty multi-architecture images based…   51        [OK]

Tải một image về máy (Pull Image)

Sử dụng lệnh sau để tải image ubuntu từ Docker Hub:

bash
docker pull ubuntu

Kết quả hiển thị:

bash
Using default tag: latest
latest: Pulling from library/ubuntu
e0b25ef51634: Pull complete
Digest: sha256:9101220a875cee98b016668342c489ff0674f247f6ca20dfc91b91c0f28581ae
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest

Chạy Container từ Image đã tải

Sau khi image đã được tải về, bạn có thể chạy một container dựa trên image ubuntu:

bash
docker run -it ubuntu

Kiểm tra danh sách container đang chạy

  • Xem các container đang chạy:
  • Xem tất cả container (bao gồm cả container đã dừng):

3 — Cài đặt Docker Compose

Docker Compose giúp bạn chạy và quản lý nhiều container một cách dễ dàng bằng cách sử dụng file docker-compose.yml.

Tải và cài đặt Docker Compose:

bash
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Cấp quyền thực thi cho Docker Compose:

bash
sudo chmod +x /usr/local/bin/docker-compose

Kiểm tra phiên bản:

bash
docker-compose --version

4 — Cài đặt Portainer

Sau khi đã cài Docker và Docker Compose, chúng ta đã có thể triển khai bằng Command docker run hoặc docker-compose up. Tùy nhiên, việc quản lý Docker bằng lệnh đôi khi cũng gây khó dễ cho cho mình. Để giải quyết việc trên, chúng ta có thể sử dụng Portainer để trực quan hóa với GUI, quản lý Docker dễ dàng và hiệu quả hơn.

Ưu điểm của Portainer là mình có thể cài đặt và quản lý ứng dụng một cách nhanh chóng. Ví dụ chúng ta muốn dừng hoặc tạm dừng, sẽ không cần dùng lệnh nữa mà chỉ cần 1 vài thao tác click trên GUI.

a). Cài đặt

Sử dụng lệnh sau để triển khai Portainer trên Ubuntu của mình:

bash
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Sau khi pull complete, chúng ta có thể vào trình duyệt và nhập địa chỉ sau để thiết lập cho Portainer:

bash
http://<IP-Address>:9000
# IP-Address là IP của server hiện tại

b). Cấu hình cho portainer

Khi truy cập vào địa chỉ trên, chúng ta sẽ thấy giao diện yêu cầu thiết lập tài khoản.

Tiếp theo, chọn cách thức để Portainer kết nối đến host. Ở đây chúng ta dùng Portainer để quản lý Docker trên local nên chọn Docker, sau đó bấm Connect

Sau khi đăng nhập, chúng ta sẽ nhìn thấy giao diện Dashboard của Portainer như hình bên dưới.

Khi ấn vào local, chúng ta có thể thấy 1 số thuộc tính như sau:

  • Dashboard: hiển thị thông tin tổng quát về tình trạng tài nguyên hiện có của Docker trên host.
  • App Templates: Danh sách các template mẫu để triển khai ứng dụng một cách nhanh chóng.
  • Stacks: Cho phép tạo / xoá các stack Docker bằng docker-compose file
  • Containers: Hiển thị thông tin chi tiết tình trạng các container hiện có trên host. Bạn có thể thay đổi trạng thái hoạt động hoặc xem log của container trực tiếp từ trang này.
  • Images: Hiển thị thông tin các image hiện có trên host. Có thể xoá các image không sử dụng (có nhãn Unused)
  • Networks: Hiển thị danh sách các network hiện có trên host. Có thể thêm / xoá network.
  • Volumes: Hiển thị danh sách các volume hiện có trên host. Có thể thêm / xóa các volume.
  • Events: Hiển thị log các sự kiện đã diễn ra trên Docker host.

c). Giới thiệu 1 số tính năng cơ bản

1. Quản Lý Container

  • Xem danh sách các container đang chạy và đã dừng.
  • Khởi động, dừng, xóa và restart container dễ dàng.
  • Xem logs, CPU, RAM của container trực tiếp từ giao diện web.
  • Chạy lệnh trong container mà không cần SSH vào máy chủ.

2. Quản Lý Docker Images

  • Tìm kiếm, tải xuống (pull) và xóa images từ Docker Hub.
  • Xây dựng image từ Dockerfile ngay trên giao diện Portainer.
  • Gán tag và đẩy (push) image lên các registry như Docker Hub hoặc private registry.

3. Quản Lý Networks

  • Tạo, chỉnh sửa và xóa mạng trong Docker.
  • Kiểm tra danh sách container kết nối vào từng mạng.
  • Thay đổi cấu hình mạng của container.

4. Quản Lý Volumes

  • Xem danh sách volumes, kích thước, vị trí lưu trữ.
  • Tạo và xóa volumes dễ dàng.
  • Mount volumes vào container mà không cần dùng dòng lệnh.

5. Triển Khai Ứng Dụng Bằng Docker Compose

  • Chạy ứng dụng nhiều container bằng cách nhập file docker-compose.yml.
  • Quản lý và cập nhật dịch vụ trong stack dễ dàng.
  • Dừng, restart hoặc xóa toàn bộ stack chỉ với một click.

6. Quản Lý Quyền Hạn & Người Dùng

  • Thiết lập tài khoản admin và người dùng khác.
  • Phân quyền truy cập theo từng stack, container hoặc chức năng cụ thể.
  • Bảo mật hệ thống với các chính sách quyền hạn chặt chẽ.

Kết luận

Bạn đã cài đặt thành công Docker và Docker Compose, Portainer trên Ubuntu VPS. Bây giờ bạn có thể triển khai các ứng dụng container một cách dễ dàng. Nếu gặp lỗi, hãy kiểm tra lại các bước hoặc comment bên dưới để mình có thể hỗ trợ. Cảm ơn các bạn đã đọc đến đây!