0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

🚀 Những điều cơ bản về Docker trong DevOps

Đăng vào 8 tháng trước

• 3 phút đọc

Chủ đề:

KungFuTech

🚀 Ngày 7 trong hành trình DevOps: Những điều cơ bản về Docker

Xin chào cộng đồng dev.to! 👋 Hôm qua, tôi đã khám phá các dịch vụ Linux và Systemd — nền tảng của quản lý quy trình. Hôm nay, tôi sẽ đi sâu vào Docker — phép màu đứng sau công nghệ container hiện đại. 🐳

🔹 Tại sao Docker quan trọng trong DevOps

  • Môi trường nhất quán: “Chạy trên máy của tôi” → không còn nữa!
  • Container nhẹ thay thế cho máy ảo nặng nề.
  • Là tiêu chuẩn để chạy ứng dụng trong các pipeline CI/CD.
  • Nền tảng cho Kubernetes và các hệ thống cloud-native.

🧠 Những khái niệm cốt lõi tôi đang học

⚙️ Docker là gì?

Docker là một nền tảng container hóa, đóng gói các ứng dụng cùng với các phụ thuộc của chúng.

  • Container chia sẻ kernel của hệ điều hành máy chủ nhưng vẫn giữ sự tách biệt.

📦 Docker Images & Containers

  • Image = bản thiết kế (ví dụ: nginx:latest).
  • Container = phiên bản đang chạy của một image.

🔧 Các lệnh cơ bản của Docker

  • Chạy một container:
    bash Copy
    docker run -it ubuntu bash
  • Liệt kê các container:
    bash Copy
    docker ps -a
  • Dừng và xóa container:
    bash Copy
    docker stop <container_id>
    docker rm <container_id>
  • Kéo một image:
    bash Copy
    docker pull nginx
  • Xây dựng một image:
    bash Copy
    docker build -t myapp .

🗂️ Volumes & Port Mapping

  • Volumes giữ dữ liệu lâu dài → docker run -v /data:/var/lib/mysql mysql
  • Ports phơi bày các dịch vụ → docker run -p 8080:80 nginx

🛠️ Các trường hợp sử dụng mini cho DevOps

  • Chạy Jenkins, Nginx hoặc Redis trong các container.
  • Kiểm tra ứng dụng trong các môi trường tách biệt.
  • Đóng gói các pipeline CI/CD thành các images tái sử dụng.

⚡ Mẹo chuyên nghiệp

Nếu một container gặp lỗi:

  • Kiểm tra nhật kýdocker logs <container_id>
  • Kiểm tra cấu hìnhdocker inspect <container_id>
  • Vào trong containerdocker exec -it <container_id> bash

🧪 Phòng thí nghiệm thực hành (thử ngay!)

Chạy một container Nginx:

bash Copy
docker run -d -p 8080:80 nginx

Xác minh:
Mở trình duyệt và truy cập → http://localhost:8080

🎯 Bạn sẽ thấy trang chào mừng của Nginx trong một container! 🚀

🎯 Bài học chính

Docker là nền tảng của DevOps — giúp các ứng dụng trở nên di động, nhẹ và sẵn sàng cho sản xuất. Làm chủ Docker là bước đầu tiên để tiến tới Kubernetes.

🔜 Ngày mai (Ngày 8)

Tôi sẽ khám phá Docker Networking và Volumes — kết nối các container và giữ dữ liệu.

Các thực tiễn tốt nhất trong việc sử dụng Docker

  • Tối ưu hóa kích thước image: Luôn bắt đầu với các image gốc nhỏ nhất có thể.
  • Sử dụng multi-stage builds: Giảm thiểu kích thước image cuối cùng bằng cách chỉ đưa vào những gì cần thiết.
  • Quản lý phiên bản images: Đặt tên cho image theo phiên bản để dễ dàng quay lại.

Cạm bẫy thường gặp

  • Container bị dừng: Đảm bảo rằng bạn đã cấu hình đúng các lệnh khởi động.
  • Vấn đề với mạng: Kiểm tra cấu hình mạng nếu container không thể kết nối.

Mẹo hiệu suất

  • Sử dụng cache: Docker hỗ trợ cache layers, giúp tăng tốc độ build.
  • Giám sát tài nguyên: Sử dụng các công cụ như docker stats để theo dõi hiệu suất container.

Khắc phục sự cố

  • Container không khởi động: Kiểm tra nhật ký và cấu hình.
  • Lỗi kết nối mạng: Đảm bảo rằng các port đã được cấu hình đúng và không bị chiếm dụng.

Câu hỏi thường gặp (FAQ)

Docker có an toàn không?

Docker an toàn nếu bạn sử dụng images từ các nguồn đáng tin cậy và thường xuyên cập nhật.

Làm thế nào để xóa một image?

Sử dụng lệnh docker rmi <image_id> để xóa một image không còn cần thiết.

Tài nguyên và tài liệu tham khảo

Hy vọng nội dung này hữu ích cho bạn trong hành trình làm chủ Docker và DevOps!

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào