👉Docker là một nền tảng mã nguồn mở giúp tự động hóa quá trình triển khai ứng dụng trong các container. Container là một môi trường nhẹ, di động, đóng gói tất cả các thành phần cần thiết để chạy ứng dụng, bao gồm mã nguồn, thư viện và cấu hình.
👉Docker giúp các nhà phát triển xây dựng, vận hành và triển khai ứng dụng một cách nhanh chóng mà không lo vấn đề khác biệt giữa các môi trường máy chủ.
2. Tại sao nên sử dụng Docker?
Docker mang lại nhiều lợi ích đáng kể, bao gồm:
Tính di động cao: Chạy ứng dụng một cách nhất quán trên nhiều môi trường khác nhau.
Khả năng mở rộng dễ dàng: Dễ dàng triển khai và quản lý nhiều container trên nhiều máy chủ.
Quản lý dễ dàng: Với Docker Compose và Kubernetes, bạn có thể quản lý nhiều container một cách hiệu quả.
3. Các thành phần chính của Docker
3.1. Docker Engine
Docker Engine là nền tảng chính để chạy và quản lý các container. Nó bao gồm các thành phần chính:
Docker Daemon: Tiến trình chạy nền để quản lý container.
Docker CLI: Công cụ dòng lệnh để tương tác với Docker Daemon.
Docker API: Giao diện lập trình ứng dụng để quản lý Docker từ xa.
3.2. Docker Image
Docker Image là một tập hợp các file hệ thống và cấu hình dùng để tạo container. Một image có thể được tạo từ Dockerfile hoặc tải xuống từ Docker Hub.
3.3. Docker Container
Container là một phiên bản đang chạy của một image. Nó đóng gói ứng dụng và các thành phần cần thiết, giúp đảm bảo ứng dụng chạy đồng nhất trên mọi môi trường.
3.4. Docker Hub
Docker Hub là một kho lưu trữ trực tuyến cho các Docker images. Người dùng có thể tải xuống hoặc tải lên các image từ đây.
3.5. Docker compose
Docker Compose là một công cụ giúp bạn quản lý nhiều container bằng cách sử dụng một file cấu hình YAML. Điều này rất hữu ích cho các ứng dụng microservices.
Lưu ý:Chỉ chọn 1 trong 2 cách thủ công hoặc tự động
5. Các lệnh Docker cơ bản
STT
Lệnh
Mô tả
1
docker --version
Kiểm tra phiên bản Docker
2
docker run hello_world
Chạy container đơn giản
3
docker ps
Liệt kê container đang chạy
4
docker ps -a
Liệt kê tất cả container (bao gồm container đã dừng)
5
docker rm <container_id>
Xóa container
6
docker rmi <image_id>
Xóa image
6. Dockerfile – Tạo Image tùy chỉnh
Dockerfile là một file chứa tập hợp các lệnh để tạo ra một image Docker. Ví dụ về Dockerfile:
Tạo dockerfile
touch Dockerfile
Chỉnh sửa Dockerfile
nano Dockerfile
Nội dung Dockerfile
FROM ubuntu:latest
RUN apt update && apt install -y nginx
COPY index.html /var/www/html/index.html
CMD ["nginx", "-g", "daemon off;"]
Sau đó, bạn có thể tạo image từ Dockerfile bằng lệnh:
docker build -t my-nginx .
7. Quản lý nhiều container với Docker Compose
Docker Compose sử dụng một file docker-compose.yml để định nghĩa và chạy nhiều container cùng lúc. Ví dụ về docker-compose.yml cho ứng dụng web với Nginx và PHP:
Docker là một công cụ mạnh mẽ giúp đơn giản hóa quá trình phát triển, triển khai và quản lý ứng dụng. Với Docker, bạn có thể dễ dàng xây dựng môi trường phát triển nhất quán, giảm thiểu sự khác biệt giữa các hệ thống, và triển khai ứng dụng nhanh chóng trên nhiều nền tảng khác nhau. Tìm hiểu thêm về docker tại : https://www.docker.com/blog/
Very good and useful article