CHƯƠNG 01 · Bắt đầu với Docker•BÀI 01 / 80

Container khác máy ảo như thế nào?

Không chỉ học định nghĩa: chọn đúng đơn vị triển khai cho từng công việc.

Nền tảng◷ 4 phút đọc1/4 trong chương

Nắm bản chất

Container đóng gói ứng dụng và userspace dependencies, nhưng chia sẻ kernel của máy chủ. Máy ảo thông thường có guest OS và kernel riêng. Sự khác biệt giúp container khởi động nhanh, dùng ít overhead cho nhiều workloads; đổi lại, ranh giới bảo mật phụ thuộc vào kernel, namespaces, cgroups và runtime.

Image là bản đóng gói bất biến theo lớp; container là một instance có trạng thái chạy được tạo từ image. Một image có thể chạy thành nhiều containers độc lập. Đừng xem container như máy chủ nhỏ phải chạy init, SSH và cron cho mọi thứ.

Luồng hoạt động

Source→Image→Container

Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?

Lệnh & cấu hình mẫu

docker version
docker info
docker run --rm hello-world
docker run --rm alpine:3.20 sh -c 'echo hello from container'

Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.

Bài tập 10–20 phút

✳

Chạy hello-world, ghi ra tên client/server Docker Engine và quan sát --rm xóa container sau khi lệnh hoàn tất. Dùng docker image ls để thấy image có thể vẫn còn sau khi container được xóa.

Lỗi dễ mắc

!

Không đưa trạng thái cần lưu giữ vào writable layer rồi coi như đã được backup. Containers là thực thể có thể bị thay thế.

Tự kiểm tra

Xóa container có đồng nghĩa xóa image hay named volume không?Xem đáp án ↗

Không. Container, image và volume là những resource khác nhau; tác động cụ thể phụ thuộc lệnh và flags.

TÀI NGUYÊN ĐI KÈM

Học thêm qua lab

Bài học nền tảng có thể thực hiện trực tiếp bằng các lệnh trên; bảng tra cứu nhanh giúp ôn tập.

→ Mở bảng lệnh tra cứu nhanh
NGUỒN CHÍNH THỨC

Đối chiếu tài liệu gốc

Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.

Mở tài liệu chính thức ↗