Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
Bạn từng nghe câu 'chạy trên máy tôi thì được mà' chưa? Docker ra đời để chấm dứt câu chuyện đó. Bài viết này giải thích Docker và container bằng ngôn ngữ đời thường, kèm vài lệnh bạn có thể thử ngay.
Một ứng dụng web thường cần đúng phiên bản ngôn ngữ, thư viện, cơ sở dữ liệu và biến môi trường. Máy của bạn, máy đồng nghiệp và máy chủ thật thường lệch nhau ở một chi tiết nào đó, và lỗi sinh ra từ đây rất khó tìm.
Docker đóng gói ứng dụng cùng toàn bộ thứ nó cần vào một đơn vị gọi là container. Container chạy giống nhau ở mọi nơi có Docker, từ laptop đến máy chủ.
Máy ảo (VM) giả lập cả một máy tính, kèm hệ điều hành riêng, nên nặng và khởi động chậm. Container dùng chung nhân (kernel) của hệ điều hành chủ nhưng được cô lập về tiến trình, mạng và hệ thống file. Vì vậy container nhẹ hơn nhiều và thường khởi động trong vài giây.
| Tiêu chí | Máy ảo | Container |
|---|---|---|
| Hệ điều hành | Mỗi VM một OS riêng | Dùng chung kernel của máy chủ |
| Dung lượng | Thường nhiều GB | Thường vài chục đến vài trăm MB |
| Khởi động | Chậm hơn | Rất nhanh |
| Mức cô lập | Mạnh hơn | Đủ dùng cho đa số ứng dụng |
Có thể hình dung image là công thức nấu ăn, còn container là món ăn đã nấu xong. Một công thức nấu được nhiều phần.
Sau khi cài Docker Desktop (Windows, macOS) hoặc Docker Engine (Linux), hãy chạy:
docker --version
docker run hello-world
docker run -d -p 8080:80 --name web nginx
docker ps
docker logs web
docker stop web
docker rm webGiải thích nhanh: lệnh thứ ba tải image nginx, chạy nền (-d) và ánh xạ cổng 8080 của máy bạn tới cổng 80 trong container. Mở trình duyệt vào http://localhost:8080 bạn sẽ thấy trang chào của Nginx. Lệnh docker ps liệt kê container đang chạy, còn docker logs xem nhật ký.
Dockerfile mô tả cách dựng image.docker build để tạo image.docker run để tạo container từ image.docker push để chia sẻ hoặc triển khai.Docker giúp môi trường nhất quán, nhưng không tự làm ứng dụng của bạn an toàn hay nhanh hơn. Dữ liệu trong container sẽ mất khi container bị xóa nếu bạn không dùng volume. Image lớn, chạy bằng quyền root hoặc chứa mật khẩu bên trong đều là những lỗi người mới hay mắc. Các bài tiếp theo trong chuyên mục sẽ đi sâu từng phần này.
Docker đóng gói ứng dụng thành container để chạy nhất quán ở mọi nơi. Hãy nắm vững ba khái niệm image, container, registry, thử vài lệnh cơ bản, rồi viết Dockerfile đầu tiên cho dự án của chính bạn. Chỉ cần một buổi tối thực hành là bạn đã thấy sự khác biệt.
Muốn học bài bản từ nền tảng đến triển khai thực tế, bạn có thể tham khảo các khóa DevOps tại codebem.com và thực hành theo từng bước.
Nguyễn Đình Cường
0 comment