Cách cài đặt Docker trong Linux

Ảo hóa và container đang liên tục gia tăng mức độ phổ biến. Lý do là vì chúng giúp tăng cường sự bảo mật và mang lại tính cơ động cho người dùng.

Ví dụ, nếu bạn sử dụng một số dịch vụ đám mây, chúng sẽ giúp tách biệt các dữ liệu và dịch vụ dễ dàng hơn. Nhưng công dụng của chúng không chỉ giới hạn ở đó. Nếu là nhà phát triển ứng dụng Linux, bạn sẽ nhanh chóng nhận ra việc làm cho ứng dụng có sẵn cho tất cả các bản phân phối Linux sẽ khó khăn như thế nào.

Khi chương trình bạn tạo hoạt động trong Ubuntu, việc làm cho nó cũng hoạt động trong Arch Linux, Debian và các bản phân phối khác không đơn giản như bạn nghĩ. Mỗi bản phân phối sẽ khác nhau và bạn phải thực hiện các điều chỉnh sao cho các tiện ích khả dụng trong mỗi bản phân phối.

Docker

Quá trình container hóa giúp cho việc phát triển dễ dàng hơn và có thể triển khai ở mọi nơi. Thay vì dựa vào hệ điều hành để cung cấp những gì ứng dụng cần, tất cả các dependency đều được gói trong chính container. Khi container hoạt động, người dùng có thể di chuyển nó từ máy tính này sang máy tính khác và giữa các hệ điều hành khác nhau một cách dễ dàng.

Docker là một tiện ích container hóa đã trở nên rất phổ biến, giúp đơn giản hóa các nhiệm vụ như vậy. Hơn nữa, khi có sự cố với hệ điều hành, thay vì phải cài và cấu hình lại ứng dụng, người dùng chỉ cần cài lại hệ điều hành, sao chép lại container.

Tại sao nên sử dụng Docker để triển khai service trong Linux?

Các nền tảng container như Docker là cách phổ biến để cài đặt service trên máy tính Linux. Chúng cho phép dễ dàng tách phần mềm phức tạp thành các thiết bị di động, từ đó cải thiện tính bảo mật cho máy chủ.

Terminal hiển thị các Docker container khác nhau đang chạy để duy trì Shlink.
Terminal hiển thị các Docker container khác nhau đang chạy để duy trì Shlink.

Một tính năng mạnh mẽ của Docker là khi một container hoạt động trong một bản phân phối thì việc làm cho nó hoạt động ở các bản phân phối khác là một quá trình tương đối đơn giản. Điều này là do Docker trừu tượng hóa sự khác biệt giữa các bản phân phối Linux này, khiến nó tương thích với những sửa đổi nhỏ trên container.

Docker cũng đơn giản hóa việc quản lý service so với việc triển khai không trong container. Ban đầu, khi có sự cố xảy ra trong hệ thống, bạn sẽ phải cài đặt lại và cấu hình lại mọi service trên máy đó. Với Docker, bạn chỉ cần sao chép các file cấu hình sang một máy khác, khởi động service và có thể tiếp tục ngay từ nơi bạn đã dừng lại.

Xóa bỏ các cài đặt Docker cũ

Đây là một bước không bắt buộc, chỉ bắt buộc nếu đã cài đặt các phiên bản Docker cũ. Chúng có thể xung đột với các phiên bản mới, đặc biệt nếu chúng đến từ các kho khác với những gì được sử dụng ở đây.

Trên Debian hoặc Ubuntu, hãy “dọn dẹp” mọi thứ bằng:

sudo apt --purge autoremove docker docker-engine docker.io containerd runc

Trên Fedora:

sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine

Cách cài đặt Docker trên Ubuntu

Docker là nền tảng hiện đại được sử dụng để tự động hóa việc triển khai ứng dụng trong các container nhẹ, giúp ứng dụng có thể hoạt động hiệu quả trong nhiều môi trường khác nhau.

Một vài ưu điểm khi cài đặt Docker trên Ubuntu bao gồm:

  • Nhiều container chạy trên cùng một phần cứng
  • Duy trì các ứng dụng bị cô lập
  • Cho phép năng suất cao
  • Nhanh chóng và dễ cấu hình

Đây là cách cài đặt Docker trên Ubuntu.

1. Mở terminal trên Ubuntu.

2. Kiểm tra xem hệ thống có được cập nhật hay không bằng lệnh sau:

$ sudo apt-get update

3. Cài đặt Docker bằng lệnh sau:

$ sudo apt install docker.io

Sau đó, bạn sẽ nhận được lời nhắc yêu cầu bạn chọn giữa y/n - hãy chọn y.

4. Cài đặt tất cả các gói dependency bằng lệnh sau:

$ sudo snap install docker

5. Trước khi kiểm tra Docker, hãy kiểm tra phiên bản đã cài đặt bằng lệnh sau:

$ docker --version

6. Kéo một image từ Docker hub bằng lệnh sau:

$ sudo docker run hello-world

Ở đây, hello-world là image docker có trên Docker hub.

7. Kiểm tra xem image docker đã được kéo và có trong hệ thống của bạn hay chưa bằng lệnh sau:

$ sudo docker images

8. Để hiển thị tất cả các container đã kéo, sử dụng lệnh sau:

$ sudo docker ps -a

9. Để kiểm tra các container ở trạng thái đang chạy, sử dụng lệnh sau:

$ sudo docker ps

Bạn vừa cài đặt thành công Docker trên Ubuntu!

Cách cài đặt Docker trên Debian

Vì Ubuntu được tạo từ Debian, nên các bước rất giống nhau.

sudo apt update && sudo apt install software-properties-common apt-transport-https ca-certificates curl gnupg2

Kiểm tra fingerprint xem có giống như trong phần trước không.

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg

Thêm vào các key đáng tin cậy.

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

Thêm nguồn phần mềm.

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

Cài đặt Docker.

sudo apt update && sudo apt install docker-ce

Nếu cần Docker Compose, hãy cài đặt nó với:

sudo apt install docker-compose

Để sử dụng các lệnh Docker mà không cần đặt sudo phía trước:

sudo adduser $USER docker

Sau đó đăng xuất và đăng nhập lại.

Cách cài đặt Docker trên Fedora

Cài đặt các điều kiện tiên quyết.

sudo dnf install dnf-plugins-core

Thêm kho phần mềm Docker.

sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Cài đặt Docker.

sudo dnf install docker-ce

Cài Docker trên Debian

Trên một số hệ thống, việc này sẽ mất một chút thời gian để hoàn thành và có vẻ như không có tiến triển gì cả. Nhưng đừng hủy bỏ hoạt động. Tất nhiên, quá trình cài đặt cũng có thể thực sự gặp vấn đề, nhưng hãy dành ít nhất mười phút để thực hiện công việc trên các máy tính chậm.

Cho phép tự động khởi động Docker khi boot.

sudo systemctl start docker.service

Khởi động Docker.

sudo systemctl start docker.service

Tự thêm mình vào nhóm Docker.

sudo usermod -aG docker $USER

Đăng xuất và đăng nhập lại vào giao diện người dùng đồ họa.

Những ai cần Docker Compose có thể cài đặt nó với:

sudo dnf install docker-compose

Cách cài đặt Docker trên Red Hat Enterprise Linux

Red Hat Enterprise Linux (RHEL) là một bản phân phối ổn định, hỗ trợ lâu dài cho Fedora. Không giống như phiên bản upstream của nó, RHEL cung cấp một môi trường nhất quán và đáng tin cậy, nơi người dùng có thể chạy các ứng dụng của mình một cách đáng tin cậy. Điều này làm cho nó trở thành một hệ thống tuyệt vời để triển khai các chương trình muốn chạy mà ít hoặc không bị gián đoạn.

Bắt đầu bằng cách tìm nạp file kho lưu trữ cho dự án Docker:

sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo

Tải và cài đặt Docker, Docker Compose và các dependency của chúng:

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Bạn cũng có thể chỉ định phiên bản Docker muốn chạy trên hệ thống của mình. Để thực hiện việc này, hãy liệt kê các phiên bản Docker có sẵn cho máy:

dnf list docker-ce --showduplicates

Cuộn qua danh sách các phiên bản có sẵn, sau đó sao chép số phiên bản muốn cài đặt.

Các phiên bản Docker khác nhau có sẵn trong RHEL.
Các phiên bản Docker khác nhau có sẵn trong RHEL.

Dán lệnh sau vào terminal, sau đó thay thế giá trị của biến phiên bản bằng số phiên bản mong muốn:

version="VIẾT-SỐ-PHIÊN-BẢN-Ở-ĐÂY"

Cài đặt phiên bản Docker cụ thể trong hệ thống:

sudo dnf install docker-ce-3:$version docker-ce-cli-1:$version containerd.io docker-buildx-plugin docker-compose-plugin

Kích hoạt và chạy service Docker bằng systemctl:

sudo systemctl enable --now docker.service

Thêm người dùng hiện tại vào nhóm người dùng docker:

sudo useradd -aG docker YOUR-USERNAME

Kiểm tra xem Docker có hoạt động bình thường hay không bằng cách chạy docker --version để liệt kê số phiên bản của nó.

Phiên bản hạ cấp của Docker đang chạy trong RHEL.
Phiên bản hạ cấp của Docker đang chạy trong RHEL.

Cách cài đặt Docker trên Arch Linux

Arch đã bao gồm Docker trong kho cộng đồng của mình, vì vậy quy trình cài đặt sẽ dễ dàng hơn.

sudo pacman -S docker

Cài Docker trên Arch

Nếu cần Docker Compose:

sudo pacman -S docker-compose

Tự thêm chính mình vào nhóm Docker:

sudo usermod -aG docker $USER

Đăng xuất khỏi giao diện người dùng đồ họa và đăng nhập lại để cài đặt có hiệu lực.

Cho phép Docker tự động khởi động khi boot.

sudo systemctl enable docker

Khởi động Docker.

sudo systemctl start docker

Rõ ràng, bài viết này không bao gồm tất cả các bản phân phối hiện có. Nhưng nếu đang sử dụng một cái gì đó như openSUSE, bạn có thể may mắn tìm thấy một trang hướng dẫn về cách cài đặt Docker trên bản phân phối đó tại en.opensuse.org/SDB:Docker.

Triển khai Docker Container đầu tiên

Với Docker được thiết lập và chạy trên máy, giờ đây bạn có thể sử dụng nền tảng này để tải xuống các ứng dụng và dịch vụ khác nhau trên hệ thống của mình. Cách nhanh nhất để bắt đầu sử dụng Docker là tìm kiếm các container dựng sẵn cho những ứng dụng phổ biến.

Lưu ý: Mặc dù Docker sử dụng các lệnh giống nhau để xây dựng và chạy các ứng dụng khác nhau, nhưng mỗi container đều có những yêu cầu riêng để chúng hoạt động. Vì vậy, bạn phải luôn tham khảo tài liệu của container và hướng dẫn thích hợp trước khi tải image Docker.

Điều đó có nghĩa là, hãy bắt đầu bằng cách truy cập Docker Hub và tìm kiếm ứng dụng bạn muốn cài đặt. Ví dụ này sẽ sử dụng container Nginx Docker với mục đích phục vụ một trang web tĩnh cơ bản.

Image Docker cho Nginx.
Image Docker cho Nginx.

Quay lại phiên terminal, sau đó tạo một thư mục cho container Docker:

mkdir ./docker-nginx && cd ./docker-nginx

Sao chép trang web tĩnh trong thư mục Docker:

cp -r ~/html-site ./docker-nginx

Tạo Dockerfile bên trong thư mục mới bằng trình soạn thảo văn bản yêu thích:

nano ./Dockerfile

Dán các dòng code sau vào Dockerfile của bạn. Thao tác này sẽ load image Nginx và sao chép trang web tĩnh từ thư mục “html-site” sang thư mục “html” bên trong container.

FROM nginx
COPY html-site /usr/share/nginx/html

Lưu Dockerfile, sau đó build container Nginx Docker:

docker build -t static-nginx .

Chạy container Docker mới được build bằng lệnh run:

docker run --name my-nginx-website --publish 8080:80 -d static-nginx

Sử dụng Docker Compose để chạy container

Ngoài việc chạy trực tiếp trên dòng lệnh, bạn cũng có thể sử dụng Docker Compose để khởi động container của mình. Đây là một cách để tạo các thiết lập Docker có thể tái tạo, hữu ích trong các triển khai phức tạp hơn.

Tạo file “docker-compose.yml” bên trong thư mục Docker của bạn:

nano docker-compose.yml

Dán block code sau vào file Compose của bạn:

services:
  nginx:
    container_name: my-nginx-website
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:80

Lưu file “docker-compose.yml”, sau đó khởi động container Docker của bạn:

docker compose up -d

Kiểm tra xem trang web mới có hoạt động bình thường không bằng cách truy cập “localhost:8080” bằng trình duyệt web.

Trang web cơ bản đang chạy trên phiên bản Nginx được Docker hóa
Trang web cơ bản đang chạy trên phiên bản Nginx được Docker hóa

Tìm hiểu những điều cơ bản về Docker, cài đặt nó vào hệ thống Linux và chạy một máy chủ web được Docker hóa cơ bản chỉ là một số điều bạn có thể làm với nền tảng container tuyệt vời này. Khám phá thế giới rộng lớn của các dịch vụ web tự host với Docker bằng cách triển khai trình đọc RSS trực tuyến của riêng bạn với Tiny Tiny RSS.

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

Xem thêm:

Thứ Bảy, 17/08/2024 11:57
56 👨 8.423
0 Bình luận
Sắp xếp theo
    ❖ Linux