Tìm kiếm Blog này

Translate

Thứ Năm, 5 tháng 11, 2020

Docker trên Ubuntu 20.04 LTS

Docker là gì?

Docker là nền tảng dành cho developers và sysadmins xây dựng, vận hành, và chia sẻ ứng dụng thông qua container. Quá trình sử dụng container để triển khai ứng dụng gọi là containerization. Một số đặc điểm của mô hình container như sau:

  • Linh hoạt: hầu như mọi hình thức phần mềm nào cũng có thể đóng gói thành container.

  • Gọn nhẹ: container tận dụng và chia sẻ sức mạnh tài nguyên máy chủ, làm cho container sử dụng tài nguyên hiệu quả hơn nhiều so với máy ảo.

  • Tính di động: developer có thể xây dựng phần mềm trên máy tính cá nhân, sau khi đóng gói thành container, có thể triển khai bất cứ đâu có hỗ trợ container như cloud, máy chủ vật lý..

  • Tính độc lập: do toàn bộ thành phần cần thiết để chạy app được đóng gói trong container, cho phép thay thế và nâng cấp mà không làm ảnh hưởng tới container khác.

  • Tính mở rộng: có thể tăng hoặc giảm số lượng container phục vụ tùy theo nhu cầu tại mọi thời điểm.

  • Bảo mật: môi trường bên trong và bên ngoài container hoàn toàn tách biệt, tạo ra sự an toàn cao mà không cần bất cứ tác động nào từ người sử dụng.

Sự khác nhau giữa container và virtual machine

Container được thiết kế để chạy trên Linux, chia sẻ kernel trên máy chủ với các container khác. Container hoạt động không khác gì một process bình thường, tiêu tốn tài nguyên như memory và cpu không khác các hệ thống khác.


Ngược lại, virtual machine hoạt động giống như một server hoàn chỉnh bao gồm cả hệ điều hành, thành phần cấu thành máy chủ thông qua nền tảng ảo hóa. Quá trình này tiêu tốn tài nguyên rất lớn.


Đơn giản hơn, container chỉ trả chi phí cho phần mềm, còn virtual machine phải trả chi phí cho phần cứng lẫn phần mềm.

Cài đặt Docker trên Ubuntu 20.04 LTS

Tất nhiên, Docker có thể cài được trên rất nhiều nền tảng khác nhau như macOS, và Windows, không riêng gì Linux hay Ubuntu. Nhưng trong phạm vi bài viết này, chúng ta xác định rõ môi trường Linux và Ubuntu 20.04 LTS nhằm đảm bảo tính nhất quán trong nội dung và các bước thực hiện.

1. Gỡ bỏ phiên bản cũ hơn

Nếu server đang tồn tại một phiên bản Docker mà bạn không muốn tiếp tục sử dụng, chạy dòng lệnh sau trước khi tiến hành cài đặt Docker


$ sudo apt-get remove docker docker-engine docker.io containerd runc

2. Cập nhật APT Package index


$ sudo apt-get update

3. Cài đặt một số package cần thiết


$ sudo apt-get install \

    apt-transport-https \

    ca-certificates \

    curl \

    gnupg-agent \

    software-properties-common

4. Thêm Docker official key 


$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

$ sudo apt-key fingerprint 0EBFCD88

pub   rsa4096 2017-02-22 [SCEA]

      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88

uid           [ unknown] Docker Release (CE deb) <docker@docker.com>

sub   rsa4096 2017-02-22 [S]

 

5. Thiết lập stable repository


$ sudo add-apt-repository \

   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \

   $(lsb_release -cs) \

   stable"

6. Cài đặt docker engine


$ sudo apt-get update

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

7. Kiểm tra

Bằng cách chạy dòng lệnh bên dưới, nếu thấy output message và exit thì chúng ta đã cài đặt Docker thành công


$ sudo docker run hello-world

8. Quản lý docker với tài khoản non-root

Nếu bạn không muốn nhập sudo trước câu lệnh docker, hãy đưa account vào nhóm docker.


$ sudo usermod -aG docker $USER

Logout và login trở lại.

Giờ đây bạn không cần phải nhập sudo trước mỗi câu lệnh docker nữa.

8 trong 1

Nếu bạn không muốn phải thực hiện từng bước như trên, bạn hãy tạo bash script và thực thi toàn bộ quá trình cài đặt Docker. Nội dung file như sau:


#!/bin/bash

# Run script: sh [filename.sh]

sudo apt-get update

sudo apt-get install -y \

    apt-transport-https \

    ca-certificates \

    curl \

    gnupg-agent \

    software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository \

   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \

   $(lsb_release -cs) \

   stable"

sudo apt-get update

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

sudo usermod -aG docker $USER

exit


Chúc các bạn thành công!

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến