📦 Docker Cơ Bản: Hướng Dẫn Chi Tiết cho Lập Trình Viên
Mục Lục
- Giới thiệu về Docker
- Container và Máy Ảo
- Tại sao Docker quan trọng trong DevOps?
- Cài đặt và Thiết lập Docker
- Chạy Container Docker Đầu Tiên
- Docker CLI Cơ Bản
- Tổng kết và Hướng dẫn thêm
- Câu hỏi thường gặp
Giới thiệu về Docker
Docker là một nền tảng container hóa cho phép đóng gói ứng dụng và tất cả các phụ thuộc của nó vào trong các container, đảm bảo tính nhất quán giữa các môi trường khác nhau. Docker cho phép bạn:
- Đóng gói ứng dụng và tất cả các phụ thuộc vào một đơn vị nhẹ, di động gọi là container.
- Chạy ứng dụng ở bất cứ đâu: máy tính cá nhân, đám mây, máy chủ mà không lo lắng về khả năng tương thích.
Container và Máy Ảo
| Tính năng | Container | Máy Ảo |
|---|---|---|
| Thời gian khởi động | Giây | Phút |
| Sử dụng tài nguyên | Nhẹ | Nặng |
| Cách ly | Cấp độ tiến trình | Cấp độ hệ điều hành |
| Tính di động | Rất cao | Trung bình |
| Hiệu suất | Gần như native | Có overhead do hypervisor |
Tại sao Docker quan trọng trong DevOps?
- Đảm bảo tính nhất quán giữa môi trường phát triển, thử nghiệm và sản xuất.
- Tăng tốc độ giao hàng thông qua tự động hóa và CI/CD.
- Sử dụng tài nguyên một cách hiệu quả.
- Kiến trúc mô-đun (microservices).
Cài đặt và Thiết lập Docker
Cài đặt Docker trên Ubuntu
bash
sudo apt update
sudo apt install docker.io -y
Khởi động dịch vụ Docker
bash
sudo systemctl start docker
Bật Docker tự khởi động khi boot (được khuyến nghị)
bash
sudo systemctl enable docker
Xác minh Docker đang chạy
bash
sudo systemctl status docker
Kiểm tra phiên bản Docker
bash
docker --version
docker info
Thêm người dùng vào nhóm Docker (để chạy docker mà không cần sudo)
bash
sudo usermod -aG docker $USER
newgrp docker
Chạy Container Docker Đầu Tiên
Kiểm tra Docker hoạt động
bash
docker run hello-world
🟢 Kết quả:
Hello from Docker!
Điều này xác nhận Docker đã được cài đặt và hoạt động đúng cách.
Kéo và Chạy Container Nginx
bash
docker pull nginx
docker run -d -p 8080:80 nginx
Xác minh Container Nginx đang chạy
bash
docker ps
🟢 Truy cập qua trình duyệt: http://localhost:8080
Dừng và Xóa Container
bash
docker stop <container_id>
docker rm <container_id>
Ví dụ:
bash
docker stop dd42ea9f5669
docker rm dd42ea9f5669
Học Tập Thêm
- Tạo tài khoản DockerHub:
ritesh355 - Hiểu vòng đời hình ảnh Docker.
- Hiểu kiến trúc cơ bản của Docker:
- Docker CLI
- Docker Engine / Daemon
- Hình ảnh và Container Docker
- Registry DockerHub
Docker CLI Cơ Bản
| Lệnh | Mô tả |
|---|---|
docker ps |
Liệt kê các container đang chạy |
docker ps -a |
Liệt kê tất cả các container |
docker images |
Liệt kê các hình ảnh đã tải xuống |
docker pull <image> |
Kéo hình ảnh từ Docker Hub |
docker run <image> |
Chạy một container từ hình ảnh |
docker stop <container_id> |
Dừng một container |
docker rm <container_id> |
Xóa một container |
docker rmi <image_id> |
Xóa một hình ảnh |
Tổng kết và Hướng dẫn thêm
| Nhiệm vụ | Trạng thái |
|---|---|
| Cài đặt Docker | ✅ |
Chạy container hello-world |
✅ |
| Kéo và chạy container Nginx | ✅ |
| Truy cập Nginx qua trình duyệt | ✅ |
| Dừng và xóa container | ✅ |
| Tạo tài khoản DockerHub | ✅ |
Câu hỏi thường gặp
1. Docker có an toàn không?
Docker có thể an toàn nếu được cấu hình đúng cách và cập nhật thường xuyên.
2. Tôi có thể chạy nhiều container cùng một lúc không?
Có, Docker cho phép bạn chạy nhiều container song song trên cùng một máy chủ.
3. Làm thế nào để tôi cập nhật Docker?
Bạn có thể cập nhật Docker bằng cách sử dụng trình quản lý gói của hệ điều hành hoặc thông qua Docker Desktop.
Hãy bắt đầu khám phá thế giới của Docker ngay hôm nay và tích hợp nó vào quy trình phát triển của bạn để nâng cao hiệu suất làm việc!