I. Tại sao phải dùng Docker ?
– Việc setup và deploy application lên một hoặc nhiều máy chủ rất mất thời gian từ việc phải cài đặt các công cụ, môi trường cần cho application đến việc chạy được ứng dụng.
– Không đồng nhất giữa các môi trường trên nhiều server khác nhau.
Từ những lý do đó Docker được ra đời để giải quyết vấn đề này.
II. Docker là gì ?
Docker là một nền tảng phần mềm cho phép bạn xây dựng, thử nghiệm và triển khai ứng dụng một cách nhanh chóng. Docker đóng gói phần mềm thành các đơn vị được tiêu chuẩn hóa gọi là container có mọi thứ mà phần mềm cần để chạy, bao gồm thư viện, công cụ hệ thống, mã và thời gian chạy.
III. Lợi ích của Docker
- Chia sẻ tài nguyên linh hoạt.
- Khả năng mở rộng – nhiều container có thể được đặt trong một máy chủ.
- Chạy dịch vụ của bạn trên phần cứng rẻ hơn nhiều so với máy chủ tiêu chuẩn.
- Triển khai nhanh, dễ dàng tạo phiên bản mới và di chuyển nhanh hơn.
- Dễ dàng di chuyển và bảo trì các ứng dụng của bạn.
- Bảo mật tốt hơn, cần ít quyền truy cập hơn để làm việc với mã chạy bên trong vùng chứa và ít phụ thuộc vào phần mềm hơn
IV. Cài đặt
Link download: https://docs.docker.com/get-docker/
Chọn bản cài đặt tương ứng với hệ điều hành của bạn và tiến hành cài đặt theo hướng dẫn đối với MacOS còn Windows và Linux thì bạn chỉ cần tải bản cài về và cài đặt như mọi application khác.
Sau khi cài đặt xong để kiểm tra xem cài đặt thành công hay không ?
- Mở command line:
$ docker version
$ docker info
$ docker run hello-world
V. Một số khái niệm
Docker Client: là cách chính mà nhiều người dùng Docker tương tác với Docker. Khi bạn sử dụng các lệnh như docker run, máy khách sẽ gửi các lệnh này đến Docker daemon để thực hiện chúng
Docker Daemon: là một quy trình nền liên tục quản lý images, containers, networks và volume của Docker . Trình nền Docker liên tục lắng nghe các yêu cầu API Docker và xử lý chúng.
Docker Volumes: là cách tốt nhất để lưu trữ dữ liệu liên tục cho việc sử dụng và tạo apps.
Docker Registry: là một hệ thống để tạo phiên bản, lưu trữ và phân phối Docker images
Docker Hub: là trung tâm thư viện và cộng đồng cho container images . Duyệt qua hơn 100.000 container images từ các nhà cung cấp phần mềm, dự án nguồn mở và cộng đồng.
Docker Repository: là tập hợp các Docker Images cùng tên nhưng khác tags. VD: nginx:1.19.8-alpine
Docker Networking: là cách mà các Docker container kết nối với các container khác trên cùng một máy chủ hoặc trên các máy chủ khác nhau cũng như với thế giới bên ngoài, tức là internet
Docker Compose: là công cụ cho phép run app với nhiều Docker containers 1 cách dễ dàng hơn. Docker Compose cho phép bạn config các command trong file docker-compose.yml để sử dụng lại. Có sẵn khi cài Docker.
Docker Swarm: là một tính năng nâng cao để quản lý một cụm Docker daemon
Docker Services: là 1 service chỉ chạy 1 image nhưng nó sẽ mã hóa cách thức chạy như tạo ra bao nhiều sản sao container để service có hiệu năng cần thiết.
VI. Kết luận
Trong bài này, mình chủ yếu là giới thiệu lý thuyết cơ bản về Docker và các thành phần chính của Docker
Cảm ơn tất cả mọi người đã đọc.