Cách cài đặt Podman thay thế Docker trên Debian 11

theanh

Administrator
Nhân viên
Podman (POD MANager) là một công cụ chứa tuân thủ OCI, được Red Hat phát triển như một sự thay thế cho Docker. Nó được sử dụng để quản lý và chạy các container, hình ảnh và khối lượng thông qua giao diện dòng lệnh. Cả Docker và Podman đều là phần mềm tương tự nhau. Điểm khác biệt duy nhất là Podman không yêu cầu daemon để chạy container, trong khi Docker cần daemon Docker Engine. Podman sử dụng thư viện libpod để quản lý toàn bộ hệ sinh thái container.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và sử dụng Podman trên Debian 11.

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

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

Cài đặt Podman​

Gói Podman được bao gồm trong kho lưu trữ mặc định của Debian 11. Bạn có thể cài đặt bằng cách chỉ cần chạy lệnh sau:
Mã:
apt-get install podman -y
Sau khi Podman được cài đặt, hãy xác minh phiên bản Podman bằng lệnh bên dưới:
Mã:
podman --version
Bạn sẽ thấy phiên bản Podman trong đầu ra sau:
Mã:
podman version 3.0.1
Bạn có thể biết thêm thông tin về Podman bằng lệnh sau:
Mã:
podman info
Bạn sẽ nhận được đầu ra sau:
Mã:
host: arch: amd64 buildahVersion: 1.19.6 cgroupManager: systemd cgroupVersion: v2 conmon: package: 'conmon: /usr/bin/conmon' path: /usr/bin/conmon version: 'conmon version 2.0.25, commit: unknown' cpus: 2 distribution: distribution: debian phiên bản: "11" eventLogger: journald tên máy chủ: debian11 idMappings: gidmap: null uidmap: null hạt nhân: 5.10.0-8-amd64 chế độ liên kết: động memFree: 3365183488 memTotal: 4122267648 ociRuntime: tên: crun gói: 'crun: /usr/bin/crun' đường dẫn: /usr/bin/crun phiên bản: |- phiên bản crun 0.17 cam kết: 0e9229ae34caaebcb86f1fde18de3acaf18c6d9a thông số kỹ thuật: 1.0.0 +SYSTEMD +SELINUX +APPARMOR +CAP +SECCOMP +EBPF +YAJL hệ điều hành: linux remoteSocket: tồn tại: đúng đường dẫn: /run/podman/podman.sock bảo mật: apparmorEnabled: đúng khả năng: CAP_CHOWN, CAP_DAC_OVERRIDE, CAP_FOWNER, CAP_FSETID, CAP_KILL, CAP_NET_BIND_SERVICE, CAP_SETFCAP, CAP_SETGID, CAP_SETPCAP, CAP_SETUID, CAP_SYS_CHROOT rootless: false seccompEnabled: true selinuxEnabled: false

Thêm OCI Registry​

Podman sử dụng tệp cấu hình sổ đăng ký /etc/containers/registries.conf để kéo tất cả hình ảnh vùng chứa từ internet. Vì vậy, bạn sẽ cần chỉnh sửa nó và xác định sổ đăng ký:
Mã:
nano /etc/containers/registries.conf
Thêm các dòng sau vào cuối tệp:
Mã:
[registries.insecure]registries = [ ]# Nếu bạn cần chặn quyền truy cập kéo từ sổ đăng ký, hãy bỏ chú thích phần bên dưới# và thêm tên đủ điều kiện của sổ đăng ký.# Chỉ Docker[registries.block]registries = [ ]
Lưu và đóng tệp khi bạn hoàn tất.

Cách sử dụng Podman​

Trong phần này, chúng tôi sẽ chỉ cho bạn cách sử dụng lệnh Podman để kéo hình ảnh và chạy một vùng chứa.

Để kéo hình ảnh Debian, hãy chạy 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/shortnames.conf)Đang cố gắng kéo docker.io/library/debian:latest...Đang lấy chữ ký nguồn hình ảnhĐang sao chép blob 647acf3d48c2 xongĐang sao chép config 827e561138 xongĐang ghi manifest vào đích hình ảnhĐang lưu trữ signatures827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0cc
Bạn có thể xem hình ảnh đã tải xuống bằng lệnh sau:
Mã:
hình ảnh podman
Bạn sẽ nhận được kết quả sau:
Mã:
THẺ KHO LƯU TRỮ ID ẢNH KÍCH THƯỚC ĐÃ TẠOdocker.io/library/debian latest 827e5611389a 11 ngày trước 129 MB
Tiếp theo, chạy một container từ hình ảnh Debian bằng lệnh sau:
Mã:
podman run -dit debian:latest
Bạn sẽ nhận được kết quả sau đầu ra:
Mã:
f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103
Bạn có thể liệt kê tất cả các container đang chạy bằng lệnh sau:
Mã:
podman ps
Bạn sẽ thấy đầu ra sau:
Mã:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf85c4df5ab78 docker.io/library/debian:latest bash 13 giây trước Đã lên 13 giây trước capable_cori
Để kiểm tra container đang chạy, hãy chạy lệnh Podman bằng cách chỉ định ID container:
Mã:
podman inspect f85c4df5ab78
Bạn sẽ nhận được đầu ra sau:
Mã:
[ { "Id": "f85c4df5ab787912c984ec820571da7b95b32736ef94ba691d9ab5019c5b5103", "Đã tạo": "2021-11-28T07:00:12.795302341Z", "Đường dẫn": "bash", "Đối số": [ "bash" ], "Trạng thái": { "OciVersion": "1.0.2-dev", "Trạng thái": "đang chạy", "Đang chạy": true, "Tạm dừng": false, "Đang khởi động lại": false, "OOMKilled": false, "Đã chết": false, "Pid": 6881, "ConmonPid": 6878, "Mã thoát": 0, "Lỗi": "", "Đã bắt đầu": "2021-11-28T07:00:13.551753552Z", "FinishedAt": "0001-01-01T00:00:00Z", "Healthcheck": { "Status": "", "FailingStreak": 0, "Log": null } },
Để kiểm tra nhật ký container, hãy chạy lệnh sau:
Mã:
podman logs f85c4df5ab78
Nếu bạn muốn kết nối với container đang chạy, hãy chạy lệnh sau:
Mã:
podman exec -it f85c4df5ab78 /bin/bash
Bạn sẽ vào được shell container như hiển thị bên dưới:
Mã:
root@f85c4df5ab78:/#
Để thoát khỏi shell container, hãy chạy lệnh sau:
Mã:
root@f85c4df5ab78:/# exit

Cách dừng và xóa một container​

Bạn cũng có thể sử dụng Podman để khởi động, dừng và xóa một container.

Để dừng một container đang chạy, hãy chạy lệnh sau:
Mã:
podman stop f85c4df5ab78
Bây giờ bạn có thể xác minh container đã dừng bằng lệnh sau:
Mã:
podman ps -a
Bạn sẽ thấy đầu ra sau:
Mã:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf85c4df5ab78 docker.io/library/debian:latest bash 3 phút trước Exited (137) 10 giây trước capable_cori
Để xóa một container đã dừng, hãy chạy lệnh sau:
Mã:
podman rm f85c4df5ab78
Nếu bạn muốn dừng container mới nhất, hãy chạy lệnh sau:
Mã:
podman stop --latest
Để khởi động container mới nhất, hãy chạy lệnh sau:
Mã:
podman start --latest
Để xóa container mới nhất, hãy chạy lệnh sau:
Mã:
podman rm --latest
Để xóa tất cả các container đang chạy, hãy chạy lệnh sau:
Mã:
podman rm -f `podman ps -aq`
Để xóa một hình ảnh, hãy chạy lệnh sau:
Mã:
podman rmi 827e5611389a
Bạn sẽ nhận được kết quả sau:
Mã:
Không có thẻ: docker.io/library/debian:latestĐã xóa: 827e5611389abf13dad1057e92f163b771febc0bcdb19fa2d634a7eb0641e0cc

Bắt đầu với Podman​

Hướng dẫn chi tiết về cách sử dụng Podman để tạo hình ảnh, khối lượng và vùng chứa có sẵn tại đây:Bắt đầu với Podman: Quản lý hình ảnh, vùng chứa và vùng chứa

Kết luận​

Trong bài đăng ở trên, chúng tôi đã giải thích cách cài đặt và sử dụng Podman trên Debian 11. Bây giờ bạn có thể sử dụng Podman để thay thế Docker để chạy và quản lý vùng chứa.
 
Back
Bên trên