Ả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.
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.
Hướng dẫn cài đặt Docker trên một số bản phân phối Linux
- Tại sao nên sử dụng Docker để triển khai service trong Linux?
- Xóa bỏ các cài đặt Docker cũ
- Cách cài đặt Docker trên Ubuntu
- Cách cài đặt Docker trên Debian
- Cách cài đặt Docker trên Fedora
- Cách cài đặt Docker trên Red Hat Enterprise Linux
- Cách cài đặt Docker trên Arch Linux
- Triển khai Docker Container đầu tiên
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ủ.
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
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.
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ó.
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
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.
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.
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: