Danh sách bài viết trong series Học microservice cơ bản
Bài 1: Microservices Là Gì?
Bài 2: Chuẩn Bị Môi Trường Để Học Microservices
Bài 3: Viết Microservice Đầu Tiên
Bài 4: Microservices Và Monolith
Bài 5: Giao Tiếp Giữa Microservices
Bài 6: Giao Tiếp Nâng Cao Trong Microserivce với RabbitMQ
Bài 7: Container Hóa Microservices Với Docker
Bài 8: Quản Lý Nhiều Microservices Với Docker Compose
Bài 9: Học microservices cơ bản với minikube
Bài 7: Container Hóa Microservices Với Docker: Bước Đầu Tiên
Ở bài trước, bạn đã học cách microservices giao tiếp bất đồng bộ qua RabbitMQ – một bước tiến lớn đấy! Hôm nay, chúng ta sẽ tìm hiểu một công cụ rất quan trọng trong thế giới microservices: Docker. Mình nhớ lúc mới học Docker, mình hơi lo lắng vì không biết container là gì và nó hoạt động ra sao. Nhưng sau khi làm thử, mình thấy nó giúp việc chạy microservices dễ dàng hơn rất nhiều. Mình sẽ hướng dẫn bạn từng bước để container hóa microservice đầu tiên – cụ thể là Menu Service mà bạn đã tạo ở bài 5. Mọi thứ sẽ được giải thích thật rõ ràng để bạn dễ theo dõi. Sẵn sàng chưa nào?
Docker Là Gì? Hãy Nghĩ Về Việc Đóng Gói Đồ Ăn Để Giao
Trước tiên, mình muốn bạn hiểu Docker là gì một cách đơn giản. Hãy tưởng tượng bạn làm ở một quán ăn và cần giao đồ ăn cho khách. Thay vì giao từng món riêng lẻ (cơm, canh, thịt), bạn đóng gói tất cả vào một hộp: cơm, canh, thịt, và cả muỗng đũa. Hộp này (container) chứa mọi thứ cần thiết để khách có thể ăn ngay, và bạn có thể giao nó đến bất kỳ đâu mà không lo thiếu thứ gì.
Trong công nghệ, Docker cũng làm việc tương tự: nó “đóng gói” microservice của bạn (code, thư viện, cấu hình) vào một container. Container này có thể chạy trên bất kỳ máy nào có Docker, mà không cần lo về việc cài đặt lại môi trường (VD: Node.js, Express). Điều này rất hữu ích khi bạn có nhiều microservices, vì mỗi microservice có thể chạy trong container riêng, không xung đột với nhau.
Bước 1: Cài Đặt Docker Trên Máy Của Bạn
Hãy bắt đầu bằng cách cài Docker trên Ubuntu. Nếu bạn dùng Windows hoặc Mac, các bước cũng tương tự, nhưng mình sẽ tập trung vào Ubuntu để bạn dễ theo dõi.
Mở terminal và chạy các lệnh sau để cài Docker:
sudo apt update
sudo apt install -y docker.io
Khởi động Docker và đảm bảo nó chạy tự động khi khởi động máy:
Nếu bạn thấy kết quả như Docker version 20.10.7, Docker đã sẵn sàng.
Thêm user của bạn vào nhóm Docker để không cần dùng sudo mỗi lần chạy lệnh:
sudo usermod -aG docker $USER
Sau đó, đăng xuất và đăng nhập lại Ubuntu (hoặc khởi động lại máy) để áp dụng thay đổi.
Kiểm tra lại bằng cách chạy:
docker run hello-world
Nếu bạn thấy thông điệp “Hello from Docker!”, Docker đã hoạt động tốt.
Bước 2: Container Hóa Menu Service
Bây giờ, chúng ta sẽ container hóa Menu Service mà bạn đã tạo ở bài 5. Nếu bạn chưa có, hãy quay lại bài 5 để tạo nó trước (hoặc làm theo code bên dưới).
Nếu bạn thấy kết quả này, xin chúc mừng! Bạn đã container hóa thành công Menu Service.
Checklist Docker: Kiểm Tra Trước Khi Kết Thúc
Hãy kiểm tra xem bạn đã làm đúng các bước chưa:
[ ] Docker đã cài và chạy được (docker run hello-world).
[ ] Image menu-service đã build thành công (docker images).
[ ] Container menu-container đang chạy (docker ps).
[ ] API /menu trả về danh sách món ăn qua Postman.
Nếu có bước nào chưa làm được, bạn có thể làm lại theo hướng dẫn, hoặc hỏi mình nhé.
Kết Thúc: Bạn Đã Container Hóa Được Microservice Đầu Tiên
Hôm nay, bạn đã học cách dùng Docker để container hóa microservice – một kỹ năng rất quan trọng. Bạn đã “đóng gói” Menu Service vào container và chạy nó thành công. Ở bài tiếp theo, chúng ta sẽ học cách chạy nhiều microservices cùng lúc bằng Docker Compose, để bạn có thể quản lý chúng dễ dàng hơn. Hẹn gặp bạn ở bài sau nhé!
=============================
cở sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty