inflearn logo

Kiến thức cơ bản về Docker - từ cài đặt đến Docker Compose đa container

Đây là khóa học hoàn thiện những kiến thức nền tảng về Docker trong 7 bài, tổng thời lượng 3 giờ 55 phút. Không chỉ dừng ở việc giải thích khái niệm, khóa học còn hướng dẫn bạn trực tiếp viết và build 5 Dockerfile, cuối cùng đóng gói máy chủ FastAPI và cơ sở dữ liệu MySQL thành một ứng dụng duy nhất, có thể chạy chỉ bằng một dòng docker compose up. Bài 1 và bài 2 bắt đầu từ việc cài đặt Docker Desktop và kiểm tra môi trường WSL2. Khi pull image ubuntu từ Docker Hub, bạn sẽ xác nhận rằng một image được cấu thành từ nhiều layer, đồng thời học cách quản lý image cục bộ bằng images và rmi. Tiếp đó, bạn sẽ tìm hiểu vòng đời của container với run, ps, stop và rm, rồi dùng exec để truy cập vào bên trong container đang chạy. Bạn cũng sẽ mở trang web của container httpd trên trình duyệt bằng cách ánh xạ cổng (-p), đồng thời khởi chạy container MySQL với volume (-v) và biến môi trường (-e) để hiểu tại sao dữ liệu vẫn tồn tại ngay cả sau khi xóa container. Bài 3 đến bài 5 là phần tự xây dựng image. Bạn sẽ lần lượt tìm hiểu FROM, WORKDIR, COPY, ENV, RUN, CMD và EXPOSE, đồng thời nắm được sự khác biệt: RUN hoạt động tại thời điểm build, còn CMD hoạt động tại thời điểm chạy. Bốn loại đối tượng sẽ lần lượt được đóng gói thành image: một script Python chạy một lần rồi kết thúc, một máy chủ FastAPI chạy liên tục, một tệp thực thi được biên dịch bằng PyInstaller và một binary có sẵn như jq. Đặc biệt, trong ví dụ biên dịch, khóa học sử dụng multi-stage build để loại bỏ các công cụ build và chỉ giữ lại sản phẩm cuối cùng. Bài 6 và bài 7 tập trung vào việc kết nối các container. Trước tiên, bạn sẽ tái hiện lỗi "Internal Server Error" xảy ra khi khởi chạy hai container mà không thiết lập mạng. Sau đó, bạn sẽ tạo mạng bằng docker network create để các container có thể tìm thấy nhau chỉ bằng tên container. Bạn cũng sẽ kiểm tra IP được cấp phát bằng network inspect, đồng thời trực tiếp xác nhận trong container rằng DNS tích hợp của Docker (127.0.0.11) hoạt động thông qua ping và /etc/resolv . conf. Ở bài 7 cuối cùng, tất cả các tùy chọn docker run đã học sẽ được chuyển vào một tệp compose.yaml, để có thể khởi chạy hoặc dừng toàn bộ ứng dụng bằng up và down. Các dự án gồm 5 loại tài liệu như Dockerfile, app . py và compose.yaml được sử dụng trong phần thực hành đều được cung cấp, nên bạn có thể bắt đầu theo học ngay mà không cần gõ lại. Môi trường thực hành được tiến hành trên Windows + PowerShell; các câu lệnh cũng giống hệt trên macOS và Linux.

2 học viên đang tham gia khóa học này

Độ khó Nhập môn

Thời gian Không giới hạn

Docker
Docker
docker-compose
docker-compose
dockerfile
dockerfile
Python
Python
FastAPI
FastAPI
Docker
Docker
docker-compose
docker-compose
dockerfile
dockerfile
Python
Python
FastAPI
FastAPI
Chưa có câu hỏi nào được đăng lên.
Hãy đăng câu hỏi đầu tiên và phát triển cùng Inflearn!

Ưu đãi có thời hạn

410.739 ₫

6%

440.077 ₫