- 1 1. Docker là gì? Mối liên hệ với Ubuntu
- 2 2. Yêu cầu môi trường & Điều kiện tiên quyết
- 3 3. Cài đặt & thiết lập Docker Engine
- 4 4. Sử dụng docker command không cần sudo
- 5 5. Khởi động & tự động khởi động Docker daemon
- 6 6. Cách khởi động container Ubuntu
- 7 7. Tổng hợp lệnh cơ bản quản lý container
- 8 8. Xử lý sự cố / Câu hỏi thường gặp
- 9 9. Tổng kết & Bước tiếp theo
- 10 10. FAQ [Câu hỏi thường gặp]
- 10.1 Q1. Docker dùng được trên cả Ubuntu Desktop và Server không?
- 10.2 Q2. Ubuntu có cần Docker Desktop không?
- 10.3 Q3. Chế độ rootless là gì?
- 10.4 Q4. Làm sao để container lưu trữ dữ liệu lâu dài?
- 10.5 Q5. Làm sao cài đặt tự động khởi động Docker daemon/container?
- 10.6 Q6. Có thể chạy image Docker của OS khác trên Ubuntu không?
- 10.7 Q7. Làm sao dọn dẹp image/container thừa?
- 10.8 Q8. Khi gặp sự cố, tìm hỗ trợ ở đâu?
- 10.9 Q9. Học Docker Compose, quản lý nhiều container như thế nào?
- 10.10 Q10. Docker có hỗ trợ Ubuntu mới nhất (ví dụ: 24.04) không?
1. Docker là gì? Mối liên hệ với Ubuntu
Docker là một công nghệ ảo hóa cho phép đóng gói môi trường thực thi ứng dụng thành các đơn vị gọi là “container”, giúp ứng dụng có thể chạy giống nhau trên mọi máy chủ hoặc máy tính cá nhân. Không giống như máy ảo truyền thống, Docker khởi chạy container trực tiếp trên hệ điều hành máy chủ, nhờ đó môi trường nhẹ và tốc độ nhanh hơn.
Đặc biệt, các hệ điều hành dòng Linux như Ubuntu có tính tương thích rất cao với Docker, vì vậy nhiều nhà phát triển và quản trị viên hệ thống từ doanh nghiệp đến cá nhân đều sử dụng. Nguyên nhân là vì Ubuntu là mã nguồn mở, phổ biến cho mục đích máy chủ, dễ quản lý gói cài đặt và được hỗ trợ chính thức đầy đủ.
Nhờ sử dụng Docker, bạn sẽ không còn lo “không chạy được trên môi trường khác”. Dù là máy phát triển hay máy chủ thực tế, chỉ cần dùng container Docker là có thể tái hiện “môi trường giống nhau mọi nơi” một cách dễ dàng. Ngoài ra, Ubuntu cũng nằm trong danh sách hỗ trợ chính thức của Docker nên tài liệu hướng dẫn cài đặt rất phong phú.
Bài viết này sẽ giải thích chi tiết, dễ hiểu về các bước “cài đặt Docker trên Ubuntu và khởi động container Ubuntu”. Dù là người mới hay đã từng dùng Docker, bạn đều có thể ôn lại kiến thức cơ bản qua nội dung này.
2. Yêu cầu môi trường & Điều kiện tiên quyết
Để sử dụng Docker trên Ubuntu, bạn cần chuẩn bị một số điều kiện nhất định. Để quá trình cài đặt, khởi động diễn ra suôn sẻ, dưới đây là tổng hợp các yêu cầu và điểm cần kiểm tra trước.
Về phiên bản Ubuntu
Docker khuyến nghị sử dụng trên Ubuntu 18.04 LTS trở lên, đặc biệt là các phiên bản hỗ trợ dài hạn như “Ubuntu 20.04 LTS”, “Ubuntu 22.04 LTS”, “Ubuntu 24.04 LTS”. Nếu dùng bản cũ, có thể gặp lỗi về gói cài đặt hoặc phụ thuộc, vì vậy hãy ưu tiên dùng bản LTS mới nhất.
Yêu cầu hệ thống
Dù Docker là công nghệ container nhẹ, nhưng nếu chạy nhiều container hoặc dùng cho phát triển/thử nghiệm, bạn vẫn nên đáp ứng các điều kiện sau:
- Ubuntu 64bit đã được cài đặt (không hỗ trợ 32bit)
- CPU: Khuyến nghị từ 2 nhân trở lên
- RAM: Tối thiểu 2GB (tốt nhất nên có 4GB trở lên)
- Dung lượng ổ đĩa trống: Tối thiểu 10GB
Kết nối Internet
Việc cài đặt Docker và tải image yêu cầu kết nối Internet. Đặc biệt lần đầu tiên, bạn cần mạng ổn định vì có thể phải tải về lượng dữ liệu lớn.
Về quyền người dùng
Để cài đặt và quản lý Docker, cần có quyền “sudo” (quyền quản trị hệ thống). Nếu chỉ có quyền user thông thường, hãy nhờ quản trị viên hoặc được cấp quyền tạm thời.
Gỡ cài đặt gói Docker cũ
Nếu từng cài đặt các gói như “docker”, “docker.io” trước đây, hãy gỡ bỏ để tránh xung đột.
sudo apt-get remove docker docker-engine docker.io containerd runc
Việc này giúp ngăn các lỗi do trùng lặp gói cũ và mới.
Tóm tắt
Hãy kiểm tra trước các điều kiện ở chương này. Khi đã sẵn sàng, bạn có thể chuyển sang bước cài đặt và thiết lập Docker. Nếu chuẩn bị đầy đủ, quá trình cài đặt sẽ rất suôn sẻ.
3. Cài đặt & thiết lập Docker Engine
Phần này giải thích cách cài đặt Docker Engine trên Ubuntu và thực hiện thiết lập cơ bản. Nên dùng repo chính thức để luôn nhận được bản Docker ổn định, mới nhất.
Thêm repo chính thức và chuẩn bị
Đầu tiên, hãy thêm repo chính thức của Docker vào apt. Thao tác này thực hiện trên terminal theo các bước sau:
- Cài đặt các gói cần thiết
sudo apt-get update
sudo apt-get install
ca-certificates
curl
gnupg
lsb-release
- Thêm khóa GPG
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- Thêm repo Docker
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Cài đặt Docker Engine
Sau khi thêm repo, hãy cài đặt Docker Engine chính.
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Sau khi cài xong, kiểm tra phiên bản bằng lệnh:
docker --version
Nếu hiển thị kiểu “Docker version 25.0.3, build 1234567” là đã cài thành công.
Về Docker Desktop (bổ sung)
Trên Ubuntu, thường sử dụng “Docker Engine”, nhưng hiện nay cũng có “Docker Desktop for Linux” với giao diện đồ họa. Tuy nhiên, nếu chủ yếu dùng dòng lệnh, chỉ cần Docker Engine là đủ.
Nếu có sự cố
Nếu xuất hiện lỗi “không tìm thấy package” v.v, hãy kiểm tra lại repo và đăng ký khóa GPG. Ngoài ra, nếu còn Docker cũ, hãy làm lại bước gỡ cài đặt ở chương 2.
4. Sử dụng docker command không cần sudo
Sau khi cài, Docker chỉ dùng được với quyền quản trị (sudo). Việc luôn thêm sudo
khá bất tiện, lại dễ gây lỗi nếu gõ nhầm. Cách khuyến nghị là thêm user vào nhóm “docker”, giúp bạn dùng Docker mà không cần sudo.
Cách thêm user vào nhóm docker
- Thêm user vào nhóm docker
Chạy lệnh sau để thêm user hiện tại vào nhóm docker
($USER
sẽ tự thay bằng user đang đăng nhập)
sudo usermod -aG docker $USER
- Áp dụng thay đổi
Bạn cần đăng xuất rồi đăng nhập lại để cập nhật nhóm. Cách nhanh nhất là đăng xuất và đăng nhập lại.
Nếu muốn áp dụng ngay, dùng lệnh sau:
newgrp docker
- Kiểm tra
Chạy thử Docker không cần sudo. Nếu hiện version là thành công.
docker version
Lưu ý về bảo mật
Khi thêm vào nhóm docker, user sẽ có quyền mạnh. Hãy chú ý khi dùng ở môi trường nhiều người. Với mục đích cá nhân, phát triển thì không vấn đề lớn, còn với máy chủ nội bộ hãy tuân thủ policy quản trị.
Sau bước này, thao tác với Docker sẽ thuận tiện hơn nhiều.
5. Khởi động & tự động khởi động Docker daemon
Docker hoạt động dưới dạng tiến trình nền (“dockerd”). Sau khi cài, Docker daemon mặc định sẽ tự động chạy, nhưng bạn cũng có thể chủ động khởi động, dừng hoặc thiết lập tự động chạy khi khởi động lại hệ thống. Dưới đây là cách quản lý cơ bản Docker daemon trên Ubuntu.
Khởi động, dừng, khởi động lại Docker daemon
Sử dụng lệnh systemctl
để quản lý trạng thái Docker.
- Khởi động
sudo systemctl start docker
- Dừng
sudo systemctl stop docker
- Khởi động lại
sudo systemctl restart docker
- Kiểm tra trạng thái
sudo systemctl status docker
Lệnh này giúp kiểm tra trạng thái hiện tại hoặc thông tin lỗi nếu có.
Thiết lập tự động khởi động (khi boot)
Ubuntu cho phép Docker tự chạy khi khởi động lại máy chủ. Thường thì tính năng này đã được bật mặc định, nhưng bạn cũng nên biết cách kiểm tra và chỉnh sửa.
- Bật tự động khởi động
sudo systemctl enable docker
- Tắt tự động khởi động
sudo systemctl disable docker
Với môi trường test/dev chỉ cần khởi động thủ công, dùng lệnh này để tắt auto start.
Có thể dùng lệnh service
(bổ sung)
Với Ubuntu cũ, có thể dùng service docker start
, nhưng hiện tại nên ưu tiên dùng systemctl
.
Điểm cần kiểm tra khi lỗi
- Nếu Docker daemon không khởi động, hãy kiểm tra bằng
sudo systemctl status docker
. - Nếu thiếu package phụ thuộc hoặc cấu hình kernel chưa chuẩn cũng có thể bị lỗi.
- Có thể xem log bằng
journalctl -u docker
.
Sau khi nắm được cách khởi động & tự động khởi động này, bạn đã cơ bản quản lý được Docker daemon.
6. Cách khởi động container Ubuntu
Tiếp theo, hướng dẫn cách khởi động “container Ubuntu” trên chính Ubuntu. Khi vừa cài Docker, vẫn chưa có container nào hoạt động. Bạn sẽ cần tải “image container” mong muốn rồi khởi động. Ở đây dùng image chính thức của Ubuntu làm ví dụ đơn giản nhất.
1. Tải image Ubuntu (pull)
Đầu tiên, tải image Ubuntu từ Docker Hub. Có thể chỉ định version như “22.04”, nếu không sẽ mặc định dùng bản mới nhất (latest).
docker pull ubuntu:22.04
Hoặc
docker pull ubuntu
Khuyến nghị nên chỉ định rõ version.
2. Khởi động container Ubuntu mới (run)
Dùng image vừa tải để khởi động container Ubuntu. Lệnh cơ bản như sau:
docker run -it --name myubuntu ubuntu:22.04 /bin/bash
-it
: chế độ tương tác (vào shell)--name myubuntu
: đặt tên container (có thể bỏ qua)ubuntu:22.04
: image sử dụng/bin/bash
: lệnh chạy khi khởi động (shell bash)
Lệnh này giúp bạn vào shell bash trong môi trường Ubuntu container.
3. Khởi động nền (background)
Dùng cho server hoặc muốn container luôn chạy, hãy thêm -d để chạy nền.
docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null
Container sẽ luôn ở trạng thái chạy nền.

4. Kết thúc và khởi động lại container
- Dừng container
docker stop myubuntu
- Khởi động lại
docker start myubuntu
5. Kiểm tra trạng thái
- Danh sách container đang chạy
docker ps
- Hiển thị tất cả, bao gồm cả đã dừng
docker ps -a
Tóm tắt
Chương này hướng dẫn từ “tải image Ubuntu” → “khởi động container” → “quản lý cơ bản”. Hãy thực hành để cảm nhận sự tiện lợi của Docker.
7. Tổng hợp lệnh cơ bản quản lý container
Điểm mạnh của Docker là khả năng “tạo, dừng, xóa container” cực kỳ linh hoạt. Dưới đây là các lệnh cơ bản bạn sẽ dùng thường xuyên khi quản lý container Ubuntu. Thực hành nhiều để thành thạo.
Hiển thị danh sách container
- Danh sách container đang chạy
docker ps
- Hiển thị tất cả (bao gồm đã dừng)
docker ps -a
Khởi động, dừng, khởi động lại container
- Khởi động container
docker start [container_name hoặc ID]
- Dừng container
docker stop [container_name hoặc ID]
- Khởi động lại container
docker restart [container_name hoặc ID]
Kết nối & thao tác với container
- Thực thi lệnh trong container đang chạy (exec)
docker exec -it [container_name hoặc ID] /bin/bash
Xóa container
- Xóa container
docker rm [container_name hoặc ID]
- Xóa bắt buộc (kể cả đang chạy)
docker rm -f [container_name hoặc ID]
Xóa image
- Kiểm tra image chưa dùng
docker images
- Xóa image
docker rmi [image_name hoặc ID]
Các lệnh tiện ích khác
- Xem log
docker logs [container_name hoặc ID]
- Kiểm tra dung lượng sử dụng
docker system df
Tổng kết điểm chính
- Nắm chắc các lệnh cơ bản như
docker ps
,docker start
,docker stop
,docker exec
sẽ giúp bạn vận hành & xử lý sự cố thuận tiện. - Nên xóa container/image không cần thiết để quản lý dung lượng ổ đĩa.
8. Xử lý sự cố / Câu hỏi thường gặp
Khi vận hành Docker hoặc container Ubuntu, bạn có thể gặp các lỗi bất ngờ. Dưới đây là những vấn đề thường gặp khi tìm kiếm “ubuntu docker khởi động” và cách giải quyết.
Các lỗi phổ biến & cách xử lý
1. Lỗi “Cannot connect to the Docker daemon”
Lỗi này thường xuất hiện khi Docker daemon (dockerd) chưa chạy hoặc vấn đề quyền hạn.
- Cách xử lý:
- Kiểm tra Docker daemon đã chạy chưa
sudo systemctl status docker
- Nếu chưa chạy, khởi động với
sudo systemctl start docker
- Nếu cần, hãy chạy với
sudo
hoặc thêm user vào nhóm docker như ở chương 4.
2. Lỗi do gói Docker cũ hoặc xung đột
Nếu đã từng cài “docker”, “docker.io”, “docker-engine”, có thể bị lỗi do xung đột.
- Cách xử lý:
Gỡ các gói cũ bằng lệnh sau.
sudo apt-get remove docker docker-engine docker.io containerd runc
3. Lỗi khởi động container thất bại
Có thể do sai tên image, command hoặc thiếu tài nguyên (RAM/ổ đĩa).
- Cách xử lý:
- Kiểm tra chính tả tên image, command
- Dùng
docker images
để kiểm tra image có tồn tại không - Kiểm tra RAM và dung lượng ổ đĩa máy chủ
4. Lỗi trùng port
Khi khởi động container trên port đã dùng, sẽ bị lỗi.
- Cách xử lý:
- Dùng port khác
- Dừng tiến trình đang chiếm port
5. Lưu ý khi dùng chế độ rootless
Gần đây Docker hỗ trợ chế độ “không cần root” (rootless), nhưng hãy chú ý phiên bản và giới hạn chức năng. Xem tài liệu chính thức hoặc lỗi hiển thị khi gặp vấn đề.
Checklist thực tế
- Dùng
docker ps -a
kiểm tra trạng thái container - Dùng
docker logs [container_name]
kiểm tra lỗi - Dùng
journalctl -u docker
xem log tổng quan
Tóm tắt điểm chính
Đa số lỗi về Docker xuất phát từ “quyền hạn”, “xung đột phiên bản”, “sai thiết lập”. Khi gặp lỗi, hãy đọc kỹ thông báo, cân nhắc cài lại hoặc chỉnh sửa cấu hình.
9. Tổng kết & Bước tiếp theo
Bài viết này đã hướng dẫn toàn bộ quy trình “cài Docker trên Ubuntu & khởi động container Ubuntu” từ cơ bản tới thực hành.
Cùng điểm lại nội dung và gợi ý các bước phát triển tiếp.
Tóm tắt bài viết
- Tổng quan và lợi ích của Docker
Tương thích cao với Ubuntu, dễ tái hiện môi trường giống nhau ở mọi nơi. - Các lưu ý trước khi cài đặt
Kiểm tra phiên bản Ubuntu, phần cứng, quyền hạn và dọn dẹp gói cũ. - Cách cài Docker Engine
Luôn dùng repo chính thức để đảm bảo an toàn, cập nhật mới nhất. - Cách vận hành không cần sudo & quản lý daemon
Thêm vào nhóm, quản lý tự động khởi động bằng systemctl. - Cách khởi động container Ubuntu & các lệnh cơ bản
Tạo, quản lý, vận hành container hiệu quả. - Cách xử lý lỗi phổ biến
Chủ yếu liên quan quyền, xung đột phiên bản, thiết lập sai.
Bước tiếp theo
Để thành thạo Docker, hãy thực hành khởi động container và các lệnh cơ bản. Sau đó bạn có thể học các kỹ thuật nâng cao hơn.
- Tự tạo image với Dockerfile
Tùy biến image phục vụ mục đích riêng. - Quản lý nhiều container với Docker Compose
Khởi động & quản lý đồng thời nhiều dịch vụ (Web + DB…) - Quản lý dữ liệu với Volume & Network
Lưu dữ liệu lâu dài, quản lý kết nối nhiều container. - Quản lý quy mô lớn với Kubernetes
Vận hành tự động, scale hệ thống trên cloud.
Lời kết
Docker không chỉ hữu ích cho phát triển mà còn cho vận hành server, học tập, thử nghiệm… Hãy tự mình trải nghiệm để thấy sự tiện lợi và sức mạnh của Docker. Nếu gặp khó khăn, hãy tham khảo tài liệu chính thức hoặc cộng đồng để được hỗ trợ.
10. FAQ [Câu hỏi thường gặp]
Mục này tổng hợp các câu hỏi phổ biến về “ubuntu docker khởi động” cũng như nội dung bài viết, đặc biệt phù hợp với người mới bắt đầu.
Q1. Docker dùng được trên cả Ubuntu Desktop và Server không?
A.
Có, cả hai đều dùng được. Các lệnh và thao tác cơ bản là giống nhau. Tuy nhiên, Ubuntu Server (không có giao diện đồ họa) tiêu tốn ít tài nguyên hơn, nên thường được ưu tiên cho server thật.
Q2. Ubuntu có cần Docker Desktop không?
A.
Không, với Ubuntu chỉ cần “Docker Engine” là đủ. Docker Desktop là công cụ giao diện, nhưng trên Linux/Ubuntu việc dùng dòng lệnh là phổ biến và ít lỗi hơn. Nếu bạn muốn GUI hoặc để học, có thể thử Docker Desktop.
Q3. Chế độ rootless là gì?
A.
Rootless là chế độ chạy Docker không cần quyền root, giúp tăng bảo mật khi dùng nhiều user. Tuy nhiên, có thể bị giới hạn một số chức năng, hãy kiểm tra tài liệu và chính sách phù hợp mục đích sử dụng.
Q4. Làm sao để container lưu trữ dữ liệu lâu dài?
A.
Hãy dùng chức năng Volume hoặc Bind Mount để dữ liệu không bị mất khi xóa container.
Ví dụ:
docker run -v /host/path:/container/path ubuntu:22.04
Lệnh trên sẽ liên kết thư mục trên host với container.
Q5. Làm sao cài đặt tự động khởi động Docker daemon/container?
A.
Docker daemon có thể bật tự động với lệnh sudo systemctl enable docker
. Để container khởi động cùng server, hãy thêm tuỳ chọn --restart=unless-stopped
khi tạo.
Ví dụ:
docker run --restart=unless-stopped -d --name myubuntu ubuntu:22.04 tail -f /dev/null
Q6. Có thể chạy image Docker của OS khác trên Ubuntu không?
A.
Nếu cùng kiến trúc CPU (x86_64…), image Linux đều chạy tốt trên Ubuntu. Image chỉ dành riêng cho Windows hoặc kiến trúc khác sẽ không dùng được.
Q7. Làm sao dọn dẹp image/container thừa?
A.
Dùng lệnh docker rm
, docker rmi
để xóa. Nếu muốn xóa nhiều mục cùng lúc, hãy dùng:
- Xóa tất cả container đã dừng
docker container prune
- Xóa image chưa dùng
docker image prune
- Dọn dẹp tất cả dữ liệu không dùng
docker system prune
Q8. Khi gặp sự cố, tìm hỗ trợ ở đâu?
A.
Tham khảo tài liệu chính thức Docker (https://docs.docker.com/) hoặc cộng đồng như Viblo, Stack Overflow… Hãy tìm kiếm lỗi bằng từ khóa tiếng Anh lẫn tiếng Việt để có nhiều kết quả.
Q9. Học Docker Compose, quản lý nhiều container như thế nào?
A.
Docker Compose giúp quản lý nhiều container cùng lúc. Hãy đọc tài liệu chính thức, các bài hướng dẫn hoặc thực hành với file “docker-compose.yml”.
Q10. Docker có hỗ trợ Ubuntu mới nhất (ví dụ: 24.04) không?
A.
Có, Docker hỗ trợ chính thức tất cả các bản Ubuntu LTS mới nhất. Hãy luôn kiểm tra repo và tài liệu để dùng bản ổn định, cập nhật nhất.