Docker là gì ? Giới thiệu và cách cài đặt docker tự động trên linux

Docker là gì ? Giới thiệu và cách cài đặt docker tự động trên linux

1. Docker là gì?

👉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.

4. Cách cài đặt Docker

4.1 Cài đặt tự động
				
					curl -sSL "https://get.docker.com/" | bash
				
			
4.2 Cài đặt thủ công

a. Cài đặt trên Ubuntu/Debian

				
					sudo apt update
sudo apt install docker.io -y
sudo systemctl enable --now docker
				
			

b.Cài đặt trên CentOS/RHE

				
					sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
				
			

c. Cài đặt trên Windows/MacOS

Bạn có thể tải Docker Desktop từ trang chủ: https://www.docker.com/get-started

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:

				
					version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
  php:
    image: php:7.4-fpm
				
			

Chạy ứng dụng bằng lệnh:

				
					docker-compose up -d
				
			

8. Kết luận

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/

1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *