Table of Contents

Join CloudFly's Telegram channel to receive more offers and never miss any promotions from CloudFly

Hướng dẫn cài đặt và sử dụng Docker trên Rocky Linux 9

Posted on: July 17, 2025

description image

Yêu cầu trước

  • Một máy chủ Rocky Linux 9 với người dùng không phải root có quyền sudo, có thể thiết lập theo hướng dẫn [Initial Setup Guide for Rocky Linux 9]

Tất cả các lệnh trong hướng dẫn này nên được chạy dưới người dùng không phải root. Nếu cần quyền root, lệnh sẽ có tiền tố sudo.

Bước 1 — Cài đặt Docker

Gói cài đặt Docker trong kho chính thức của Rocky Linux 9 có thể không phải là phiên bản mới nhất. Để có phiên bản mới nhất, cài từ kho chính thức của Docker.

Cập nhật cơ sở dữ liệu gói:

sudo dnf check-update

Thêm kho chính thức của Docker:

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

Rocky Linux dựa trên CentOS nên sử dụng cùng kho.

Cài đặt Docker gồm ba gói:

sudo dnf install docker-ce docker-ce-cli containerd.io

Sau khi cài đặt, khởi động daemon Docker:

sudo systemctl start docker

Kiểm tra daemon Docker đang chạy:

sudo systemctl status docker

Kích hoạt khởi động Docker khi máy chủ khởi động lại:

sudo systemctl enable docker

Docker cung cấp cả dịch vụ daemon và công cụ dòng lệnh docker.

Bước 2 — Chạy lệnh Docker không cần sudo (Tùy chọn)

Mặc định, chạy lệnh docker cần quyền root (tiền tố sudo). Người dùng trong nhóm docker có thể chạy lệnh mà không cần sudo.

Nếu chạy mà không có quyền hoặc không trong nhóm, sẽ báo lỗi:

docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.

Thêm người dùng của bạn vào nhóm docker:

sudo usermod -aG docker $(whoami)

Đăng xuất và đăng nhập lại để áp dụng thay đổi.

Nếu thêm người dùng khác vào nhóm docker:

sudo usermod -aG docker username

Trong hướng dẫn này mặc định bạn sẽ chạy lệnh docker với người dùng thuộc nhóm docker, nếu không thì hãy dùng tiền tố sudo.

Bước 3 — Sử dụng lệnh Docker

Lệnh docker gồm các tùy chọn, lệnh con và tham số như sau:

docker [option] [command] [arguments]

Để xem tất cả lệnh con, gõ:

docker

Danh sách lệnh con Docker (Phiên bản 1.11.1):

  • attach Gắn kết tới container đang chạy
  • build Xây dựng image từ Dockerfile
  • commit Tạo image mới từ container
  • cp Sao chép file giữa container và hệ thống
  • create Tạo container mới
  • diff Kiểm tra thay đổi hệ thống file trong container
  • events Nhận sự kiện thời gian thực
  • exec Chạy lệnh trong container đang chạy
  • export Xuất hệ thống file của container thành tar
  • history Hiển thị lịch sử image
  • images Liệt kê các image
  • import Nhập nội dung từ tar để tạo image
  • info Hiển thị thông tin hệ thống
  • inspect Trả về thông tin chi tiết container hoặc image
  • kill Dừng container đang chạy
  • load Tải image từ tar hoặc STDIN
  • login Đăng nhập Docker registry
  • logout Đăng xuất Docker registry
  • logs Lấy nhật ký container
  • network Quản lý mạng Docker
  • pause Tạm dừng tất cả tiến trình trong container
  • port Liệt kê ánh xạ cổng trong container
  • ps Liệt kê container
  • pull Tải image hoặc kho lưu trữ
  • push Đẩy image hoặc kho lưu trữ
  • rename Đổi tên container
  • restart Khởi động lại container
  • rm Xóa container
  • rmi Xóa image
  • run Chạy lệnh trong container mới
  • save Lưu image thành tar
  • search Tìm kiếm image trên Docker Hub
  • start Khởi động container đã dừng
  • stats Hiển thị thông tin tài nguyên container
  • stop Dừng container
  • tag Gắn thẻ image
  • top Hiển thị tiến trình đang chạy trong container
  • unpause Tiếp tục tiến trình tạm dừng
  • update Cập nhật cấu hình container
  • version Hiển thị thông tin phiên bản Docker
  • volume Quản lý volume Docker
  • wait Chặn cho đến khi container dừng

Để xem các tham số lệnh con dùng:

docker docker-subcommand --help

Thông tin hệ thống toàn cục:

docker info

Bước 4 — Làm việc với Docker Images

Docker container chạy dựa trên Docker images. Mặc định các images được tải từ Docker Hub, một registry do Docker quản lý.

Kiểm tra truy cập Docker Hub và tải image thử:

docker run hello-world

Kết quả sẽ cho biết Docker hoạt động chính xác.

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

docker search rockylinux

Kết quả trả về danh sách image phù hợp.

Cột OFFICIAL với giá trị OK nghĩa là image chính thức được hỗ trợ.

Tải image về máy:

docker pull rockylinux

Chạy container từ image đã tải:

docker run rockylinux

Hiển thị image đã tải:

docker images

Kết quả bao gồm repository, tag, ID image, ngày tạo và kích thước.

Images cũng có thể được chỉnh sửa và tạo thành image mới để đẩy lên registry.

Bước 5 — Chạy một Docker Container

hello-world là container chạy rồi thoát ngay, bạn cũng có thể chạy container tương tác.

Chạy container Rocky Linux mới nhất với shell tương tác:

docker run -it rockylinux

Dấu nhắc lệnh sẽ đổi dạng:

[root@container_id /]#

Ví dụ, cài MariaDB server bên trong container:

dnf install mariadb-server

Bạn không cần sudo vì đã ở trong container với quyền root.

Bước 6 — Ghi nhận thay đổi trong container thành Docker Image

Thay đổi trong container chỉ tồn tại trong container đó. Hủy container sẽ mất thay đổi.

Để lưu trạng thái container thành image mới, thoát container:

exit

Sử dụng lệnh commit:

docker commit -m "What did you do to the image" -a "Author Name" container-id repository/new_image_name

Ví dụ:

docker commit -m "added mariadb-server" -a "Sunday Ogwu-Chinuwa" 59839a1b7de2 sammy/rockylinux-mariadb

Lưu ý: image mới được lưu trên máy local.

Kiểm tra images hiện có:

docker images

Kết quả sẽ có image mới cùng với image gốc.

Image mới dùng để chạy container với MariaDB server đã cài sẵn.

Bước 7 — Liệt kê Docker Containers

Để xem các container đang chạy:

docker ps

Để xem tất cả container (đang chạy và không):

docker ps -a

Xem container tạo mới nhất:

docker ps -l

Dừng container đang chạy:

docker stop container-id

ID container lấy từ lệnh docker ps.

Bước 8 — Đẩy Docker Image lên Docker Repository

Sau khi tạo image mới, bạn có thể chia sẻ nó trên Docker Hub hoặc registry khác.

Tạo tài khoản Docker Hub tại Docker Hub.

Đăng nhập vào Docker Hub:

docker login -u docker-registry-username

Sau khi xác thực thành công, đẩy image:

docker push docker-registry-username/docker-image-name

Quá trình đẩy có thể mất thời gian, sau khi thành công sẽ có thông báo.

Nếu gặp lỗi "unauthorized: authentication required" nghĩa là chưa đăng nhập, hãy đăng nhập và thử lại.

Kết luận

Docker còn rất nhiều tính năng nâng cao khác, nhưng bài viết này cung cấp đủ để bạn bắt đầu làm việc với Docker trên Rocky Linux 9.

Join CloudFly's Telegram channel to receive more offers and never miss any promotions from CloudFly
Share

0 replies