Đề cương khóa học
Giới thiệu
- Giới thiệu về các khái niệm và quy trình làm việc Docker nâng cao
- Ôn tập các nguyên tắc và trường hợp sử dụng container hóa
- Thuật ngữ Docker và các thành phần cốt lõi
- Tổng quan về mục tiêu khóa học và môi trường thực hành
Tổng quan về các tính năng và kiến trúc của Docker
- Động cơ Docker (Docker Engine) và các thành phần của nó
- Client, daemon, image, container và registry của Docker
- Kiến trúc Docker và vòng đời của container
- Docker Hub và các registry riêng
- Nền tảng CLI Docker cho người dùng nâng cao
- Quản lý tài nguyên và cấu hình Docker
Cài đặt Docker
- Cài đặt phiên bản Cộng đồng Docker (Docker Community Edition)
- Cấu hình môi trường Docker
- Xác minh việc cài đặt Docker
- Cấu hình Docker cho mục đích phát triển và kiểm thử
- Quản lý cấu hình và lưu trữ Docker
- Giới thiệu về khắc phục sự cố môi trường Docker
Xây dựng các ảnh Docker của riêng bạn
- Hiểu về ảnh Docker và các lớp (layers)
- Viet Dockerfile hiệu quả
- Các chỉ lệnh Dockerfile và thực hành tốt nhất
- Quản lý bối cảnh build (build context)
- Build và đánh dấu (tagging) ảnh
- Sử dụng
.dockerignore - Tối ưu hóa kích thước ảnh và hiệu suất build
- Quản lý phiên bản và tag của ảnh
- Build Docker nhiều giai đoạn (multi-stage)
- Đăng tải ảnh lên registry container
Chạy các ứng dụng Docker đa container với Docker Compose
- Giới thiệu về Docker Compose
- Định nghĩa dịch vụ với các tệp Compose
- Cấu hình mạng và các volume
- Quản lý các biến môi trường
- Phụ thuộc dịch vụ và thứ tự khởi động
- Chạy và mở rộng nhiều dịch vụ
- Build ảnh ứng dụng với Compose
- Quản lý cấu hình ứng dụng
- Chẩn đoán các ứng dụng đa container
- Thực hành tốt nhất với Compose
Thách thức khi triển khai nhiều ứng dụng Docker
- Quản lý container trên nhiều host
- Mở rộng và khả năng sẵn sàng của ứng dụng
- Khám phá dịch vụ (Service discovery)
- Cân bằng tải (Load balancing)
- Quản lý cấu hình và bí mật (secrets)
- Thách thức về lưu trữ bền vững
- Giám sát và ghi log ở quy mô lớn
- Cập nhật lăn và triển khai ứng dụng
- Khôi phục sau sự cố container và host
Cách phối hợp (Orchestration) container giúp bạn duy trì sự kiểm soát
- Giới thiệu về việc phối hợp container
- Lợi ích và hạn chế của việc phối hợp
- So sánh Docker Swarm, Kubernetes và các giải pháp khác
- Lập lịch và quản lý tải công việc (workload)
- Khám phá dịch vụ và mạng
- Mở rộng và tự sửa lỗi (self-healing) ứng dụng
- Triển khai lăn và hoàn tác (rollbacks)
- Quản lý tài nguyên và cách ly tải công việc
- Chọn nền tảng phối hợp phù hợp
Kubernetes trên thực tế
- Kiến trúc và các thành phần cốt lõi của Kubernetes
- Pods, nodes và clusters
- Deployments và ReplicaSets
- Services và khám phá dịch vụ
- ConfigMaps và Secrets
- Namespaces và tổ chức tài nguyên
- Mở rộng ứng dụng
- Cập nhật lăn và hoàn tác
- Nền tảng mạng Kubernetes
- Lưu trữ bền vững
- Kiểm tra sức khỏe và khả năng phục hồi của ứng dụng
- Triển khai ứng dụng Docker lên Kubernetes
- Khắc phục sự cố tải công việc Kubernetes
Mạng Docker nâng cao
- Kiến trúc mạng Docker
- Các trình điều khiển mạng Bridge, host, overlay và khác
- Giao tiếp giữa các container
- Giao tiếp giữa container và các hệ thống bên ngoài
- Các mạng Docker tùy chỉnh
- Cách ly mạng
- Khám phá dịch vụ
- Phát hành và tiếp xúc cổng (Port publishing and exposure)
- Mạng trong môi trường đa host
- Khắc phục sự cố mạng Docker
An ninh Docker
- Nền tảng an ninh Docker
- Cách ly container và ranh giới bảo mật
- Chạy container với các quyền phù hợp
- Quản lý người dùng và quyền bên trong container
- Các khả năng Linux và các biện pháp kiểm soát bảo mật
- Bảo mật ảnh Docker
- Quét lỗ hổng ảnh
- Quản lý bí mật an toàn
- Bảo mật các registry Docker
- An ninh mạng và cách ly
- Bảo mật daemon Docker
- Thực hành tốt nhất về bảo mật container
Thiết lập quy trình tích hợp liên tục cho các ứng dụng Docker
- Giới thiệu về CI cho các ứng dụng container hóa
- Build ảnh Docker tự động
- Kiểm thử tự động các ảnh và container Docker
- Đánh dấu và quản lý phiên bản ảnh
- Tích hợp kiểm soát mã nguồn với các build Docker
- Quét lỗ hổng ảnh tự động
- Đăng tải ảnh lên các registry
- Quản lý sản phẩm build (artifacts)
- Triển khai các kiểm tra chất lượng tự động
- Thiết kế pipeline CI Docker có thể lặp lại
Tích hợp các ứng dụng Docker vào quy trình hiện có
- Tích hợp Docker với các quy trình phát triển hiện có
- Container hóa các ứng dụng hiện có
- Tích hợp Docker với các nền tảng CI/CD
- Quản lý các môi trường phát triển, kiểm thử, staging và sản xuất
- Các chiến lược triển khai tự động
- Quản lý cấu hình xuyên suốt các môi trường
- Tích hợp registry
- Duyệt triển khai và quản lý phát hành
- Giám sát việc triển khai ứng dụng
- Duy trì sự nhất quán xuyên suốt các môi trường
Thực hành tốt nhất cho Container và Orchestration
- Thiết kế các ảnh Docker có thể duy trì
- Tối ưu hóa khởi động và hiệu suất container
- Quản lý vòng đời container
- Phân bổ tài nguyên hiệu quả
- Chiến lược ghi log và giám sát
- Quản lý cấu hình và bí mật
- Khả năng sẵn sàng cao và dung sai lỗi
- Mở rộng các ứng dụng container hóa
- Triển khai container an toàn
- Chiến lược phiên bản và phát hành
- Thực hành tốt nhất về kiến trúc orchestration
Khắc phục sự cố
- Chẩn đoán sự cố khởi động container
- Điều tra log ứng dụng và container
- Kiểm tra container và ảnh
- Khắc phục sự cố về mạng
- Giải quyết các vấn đề lưu trữ và volume
- Chẩn đoán sự cố build ảnh
- Khắc phục sự cố các ứng dụng Docker Compose
- Điều tra các vấn đề tài nguyên và hiệu suất
- Nền tảng khắc phục sự cố Kubernetes
- Các bài tập khắc phục sự cố thực tế
Tóm tắt và kết luận
- Ôn tập các khái niệm Docker chính
- Ôn tập việc tạo ảnh và quản lý container
- Ôn tập việc triển khai ứng dụng đa container
- Ôn tập các khái niệm orchestration và Kubernetes
- Ôn tập mạng và an ninh Docker
- Ôn tập tích hợp CI/CD
- Thực hành tốt nhất về container hóa và orchestration
- Bài tập thực hành cuối cùng
- Câu hỏi và thảo luận
Yêu cầu
- Trải nghiệm làm việc trước đó với các container Docker.
Đối tượng
- Lập trình viên
- Kỹ sư DevOps
- Quản trị viên hệ thống
Đánh giá (7)
Kiến thức rộng rãi của giảng viên, khả năng giải quyết các vấn đề phát sinh một cách tự nhiên trong các buổi thực hành. Ngoài ra, các bài tập cũng phù hợp để giúp củng cố các chủ đề được đề cập trong khóa học.
Cosmin - Ness Digital Engineering
Khóa học - Advanced Docker
Dịch thuật bằng máy
Tốc độ và việc chúng ta đi sâu vào vấn đề ngay từ đầu là rất tốt, nhưng tôi nghĩ rằng chúng ta có thể tiếp tục đi sâu hơn nữa kể cả từ ngày đầu tiên (xét rằng đây là khóa đào tạo Docker nâng cao, chúng ta giả định rằng đã có kiến thức cơ bản về Docker).
SORIN ROMAN - Ness Digital Engineering
Khóa học - Advanced Docker
Dịch thuật bằng máy
giảng viên là một người thân thiện và giải thích mọi thứ rất tốt, theo cách có cấu trúc và mạch lạc. các bài tập thực hành thú vị
Andreas - Ness Digital Engineering
Khóa học - Advanced Docker
Dịch thuật bằng máy
Khóa đào tạo có nhịp độ tốt, được điều chỉnh phù hợp với trình độ của mỗi học viên. Ngoài ra, khóa học còn có sự cân bằng giữa lý thuyết và bài tập thực hành rất tốt.
Laurentiu - Ness Digital Engineering
Khóa học - Advanced Docker
Dịch thuật bằng máy
Cấu trúc và cách trình bày. Đối với tôi, khóa đào tạo này giống như một hành trình: từ ứng dụng đến các container Docker, rồi đến Kubernetes. Các bài tập rất thú vị và phù hợp.
Andrei - Ness Digital Engineering
Khóa học - Advanced Docker
Dịch thuật bằng máy
Giải thích đơn giản và khóa học có tính hướng dẫn
Diana Martinez - AT&T
Khóa học - Advanced Docker
Dịch thuật bằng máy
Giảng viên là một nhà phát triển có kinh nghiệm dày dặn với Docker và anh ấy thích chia sẻ kinh nghiệm của mình với nhóm. DaDesktop là một nền tảng rất tốt để làm việc.
Ulises - AT&T
Khóa học - Advanced Docker
Dịch thuật bằng máy