Cách cài đặt và sử dụng Podman trên CentOS 8

theanh

Administrator
Nhân viên
Podman là một công cụ miễn phí, mã nguồn mở và gốc Linux được sử dụng để chạy, xây dựng, chia sẻ và triển khai các ứng dụng bằng cách sử dụng container. Công cụ này cho phép bạn quản lý các container và hình ảnh, khối lượng được gắn vào các container đó. Podman là một công cụ chứa không cần daemon nên đang nhanh chóng trở nên phổ biến trong số các nhà phát triển như một sự thay thế cho Docker.

Bài đăng này sẽ chỉ cho bạn cách cài đặt và sử dụng phần mềm quản lý container Podman trên CentOS 8.

Điều kiện tiên quyết​

  • Một máy chủ chạy CentOS 8.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Cài đặt Podman​

Trước tiên, bạn sẽ cần cài đặt kho lưu trữ EPEL vào hệ thống của mình. Bạn có thể cài đặt bằng lệnh sau:
Mã:
dnf install epel-release -y
Sau khi cài đặt kho EPEL, hãy chạy lệnh sau để cài đặt Podman:
Mã:
dnf install podman -y
Sau khi cài đặt Podman, hãy xác minh phiên bản Podman đã cài đặt bằng lệnh sau:
Mã:
podman --version
Bạn sẽ thấy đầu ra sau:
Mã:
podman version 3.0.2-dev
Để biết thông tin chi tiết, hãy chạy lệnh sau lệnh:
Mã:
podman info
Bạn sẽ thấy đầu ra sau:
Mã:
host: arch: amd64 buildahVersion: 1.19.8 cgroupManager: systemd cgroupVersion: v1 conmon: package: conmon-2.0.26-3.module_el8.4.0+830+8027e1c4.x86_64 path: /usr/bin/conmon version: 'conmon version 2.0.26, commit: 9dea73702793340168deaa5a0d21ca5ce1fcb5d7' cpus: 2 distribution: distribution: '"centos"' version: "8" eventLogger: file hostname: centos8 idMappings: gidmap: null uidmap: null kernel: 4.18.0-193.6.3.el8_2.x86_64 linkmode: dynamic memFree: 479723520 memTotal: 4130037760 ociRuntime: name: runc package: runc-1.0.0-73.rc93.module_el8.4.0+830+8027e1c4.x86_64 path: /usr/bin/runc version: |- runc version spec: 1.0.2-dev go: go1.15.7 libseccomp: 2.4.1 os: linux

Tìm và tải xuống hình ảnh bằng Podman​

Để tìm hình ảnh Debian, hãy chạy lệnh sau:
Mã:
podman search debian
Bạn sẽ thấy tất cả hình ảnh Debian khả dụng trong các mục sau đầu ra:
Mã:
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATEDdocker.io docker.io/library/debian Debian là một bản phân phối Linux được tổng hợp... 3894 [OK]docker.io docker.io/smartentry/debian debian với smartentry 6 [OK]docker.io docker.io/library/ubuntu Ubuntu là một hệ điều hành Linux dựa trên Debian... 12423 [OK]docker.io docker.io/samueldebruyn/debian-git một container docker tối giản với debian và g... 22 [OK]docker.io docker.io/i386/debian Debian là một bản phân phối Linux được tổng hợp... 14docker.io docker.io/jdub/debian-sources-resource Tài nguyên CI Concourse để kiểm tra D đã cập nhật... 0 [OK]docker.io docker.io/itscaro/debian-ssh debian:jessie 28 [OK]docker.io docker.io/eboraas/debian Ảnh cơ sở Debian, cho tất cả các ảnh hiện có... 8 [OK]docker.io docker.io/amd64/debian Debian là bản phân phối Linux gồm... 6docker.io docker.io/arm32v7/debian Debian là bản phân phối Linux gồm... 72docker.io docker.io/dockershelf/debian Kho lưu trữ cho ảnh docker của Debian. Kiểm tra... 1 [OK]docker.io docker.io/ppc64le/debian Debian là một bản phân phối Linux gồm... 4docker.io docker.io/arm64v8/debian Debian là một bản phân phối Linux gồm... 26docker.io docker.io/spritsail/debian-builder Một hình ảnh Docker dựa trên debian:slim lý tưởng cho... 1 [OK]docker.io docker.io/arm32v5/debian Debian là một bản phân phối Linux gồm... 2docker.io docker.io/vpgrp/debian Hình ảnh Docker của Debian. 2docker.io docker.io/multiarch/debian-debootstrap cổng multiarch của debian-debootstrap 13docker.io docker.io/1and1internet/debian-9-nginx-php-7.2-wordpress-4 debian-9-nginx-php-7.2-wordpress-4 0 [OK]docker.io docker.io/mdoerges/debian-buster-nginx Debian Buster với Nginx 0docker.io docker.io/fleshgrinder/debian Hình ảnh cơ sở Debian cho sản xuất và đa... 0 [OK]docker.io docker.io/s390x/debian Debian là một bản phân phối Linux gồm... 2docker.io docker.io/vicamo/debian Hình ảnh docker Debian cho tất cả các phiên bản/archit... 3docker.io docker.io/konstruktoid/debian Hình ảnh cơ sở Debian 0 [OK]docker.io docker.io/casept/debian-amd64 Một hình ảnh debian được xây dựng từ đầu. Chủ yếu là fo... 0docker.io docker.io/vergissberlin/debian-development Hình ảnh debian Docker để sử dụng cho quá trình phát triển, ... 6 [OK]
Tiếp theo, tải xuống hình ảnh Debian bằng lệnh sau:
Mã:
podman pull debian
Bạn sẽ nhận được kết quả sau:
Mã:
Đã giải quyết "debian" thành một bí danh (/etc/containers/registries.conf.d/000-shortnames.conf)Đang thử kéo docker.io/library/debian:latest...Đang lấy chữ ký nguồn hình ảnhĐã sao chép blob 0bc3020d05f1 xongĐã sao chép config 7a4951775d xongĐang ghi manifest vào đích hình ảnhĐang lưu trữ chữ ký7a4951775d157843b47250a2a5cc7b561d2abe0b29ae6f19737a04635302eacf
Tiếp theo, hãy xác minh hình ảnh đã tải xuống bằng lệnh sau:
Mã:
podman images
Bạn sẽ nhận được kết quả sau:
Mã:
REPOSITORY TAG IMAGE ID CREATED KÍCH THƯỚCdocker.io/library/debian mới nhất 7a4951775d15 33 giờ trước 119 MB

Chạy Container bằng Podman​

Bây giờ bạn có thể khởi chạy một container từ ảnh Debian bằng lệnh sau:
Mã:
podman run -dit --name debian-container debian
Bạn sẽ nhận được kết quả sau:
Mã:
5fb79d2ff9748be9474977852db989d4de489546526683e840c501249823a4bf
Bạn cũng có thể xác minh container đang chạy bằng lệnh sau:
Mã:
podman ps
Bạn sẽ thấy kết quả sau:
Mã:
CONTAINER ID IMAGE TRẠNG THÁI ĐÃ TẠO CỦA CỔNG TÊN LỆNH5fb79d2ff974 docker.io/library/debian:latest bash 29 giây trước Đã đăng 28 giây trước debian-container
Để kết nối container đang chạy, hãy chạy lệnh sau:
Mã:
podman attach debian-container
Sau khi kết nối, bạn sẽ nhận được kết quả sau:
Mã:
root@5fb79d2ff974:/#
Bạn cũng có thể chạy bất kỳ lệnh nào bên trong container đang chạy:
Mã:
root@5fb79d2ff974:/# apt-get update
Để thoát khỏi container Debian, hãy chạy lệnh sau:
Mã:
root@5fb79d2ff974:/# exit
Để kiểm tra nhật ký của container đang chạy, hãy chạy lệnh sau:
Mã:
podman logs -f debian-container
Để dừng container đang chạy, hãy chạy lệnh sau:
Mã:
podman stop debian-container
Để xóa container đã dừng, hãy chạy lệnh sau:
Mã:
podman rm debian-container

Quản lý Pod bằng Podman​

Trong phần này, chúng tôi sẽ chỉ cho bạn cách quản lý pod bằng Podman.

Để tạo pod mới có tên là webserver, hãy chạy lệnh sau:
Mã:
podman pod create --name webserver
Bạn sẽ nhận được thông báo sau đầu ra:
Mã:
9cc9b2bdcfe1b774129f2d5b50a4b52c746a0f8917780ae7f2c786fa7767cd19
Để liệt kê tất cả các pod, hãy chạy lệnh sau:
Mã:
podman pod list
Bạn sẽ nhận được đầu ra sau:
Mã:
POD ID NAME STATUS CREATED INFRA ID # OF CONTAINERS9cc9b2bdcfe1 webserver Created 21 seconds ago 3a0c7750fed9 1
Để kiểm tra một container đang chạy bên trong pod của bạn, hãy chạy lệnh sau:
Mã:
podman ps -a --pod
Bạn sẽ nhận được đầu ra sau:
Mã:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ID POD PODNAME3a0c7750fed9 registry.access.redhat.com/ubi8/pause:latest 38 giây trước Đã tạo 9cc9b2bdcfe1-infra 9cc9b2bdcfe1 webserver
Để thêm một container CentOS mới vào một pod, hãy chạy lệnh sau:
Mã:
podman run -dt --pod webserver centos:latest top
Bạn sẽ nhận được kết quả sau:
Mã:
Đã giải quyết "centos" thành một bí danh (/etc/containers/registries.conf.d/000-shortnames.conf)Đang cố gắng kéo quay.io/centos/centos:latest...Đang lấy chữ ký nguồn hình ảnhĐã sao chép blob 7a0437f04f83 xongĐã sao chép config 300e315adb xongĐang ghi manifest vào đích hình ảnhĐang lưu trữ signaturesfcd9a724097759c29330bd57e557eab9778b3d6736695ebf9afedfbd9c0db5e3
Bây giờ, hãy xác minh container đã thêm bằng lệnh sau:
Mã:
podman ps -a --pod
Bạn sẽ nhận được kết quả sau:
Mã:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES POD ID PODNAME3a0c7750fed9 registry.access.redhat.com/ubi8/pause:latest Khoảng một phút trước Đã đăng 16 giây trước 9cc9b2bdcfe1-infra 9cc9b2bdcfe1 webserverfcd9a7240977 quay.io/centos/centos:latest top 17 giây trước Đã đăng 16 giây trước recursing_goldwasser 9cc9b2bdcfe1 webserver

Kết luận​

Trong hướng dẫn trên, bạn đã học cách cài đặt và sử dụng Podman để quản lý container trên CentOS 8. Podman rất giống với Docker và là sự thay thế tuyệt vời giúp công việc của bạn dễ dàng hơn.
 
Back
Bên trên