Podman còn được gọi là "Pod Manager" là một công cụ mã nguồn mở được sử dụng để tạo và quản lý các container. Đây là một phần của thư viện libpod không dựa vào daemon Docker và tương thích với Docker. Đây là một môi trường thời gian chạy container đơn giản và nhẹ dành cho Kubernetes. Với sự thay đổi gần đây trong Giấy phép Docker, podman có thể trở thành một giải pháp thay thế tốt có sẵn để sử dụng trong hầu hết các Hệ thống Linux.
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt và sử dụng Podman trên máy chủ Ubuntu 22.04.
Sau khi Podman được cài đặt, bạn có thể xác minh bằng lệnh sau:
Bạn sẽ thấy phiên bản Podman trong đầu ra sau:
Bạn cũng có thể xem thông tin chi tiết về Podman bằng lệnh sau:
Bạn sẽ nhận được đầu ra sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất.
Bạn sẽ nhận được danh sách tất cả các hình ảnh Debian trong đầu ra sau:
Tiếp theo, tải xuống ảnh Debian mới nhất từ internet bằng lệnh sau:
Lệnh này sẽ tìm kiếm và tải xuống ảnh Debian mới nhất như hiển thị bên dưới:
Bây giờ bạn có thể xác minh ảnh đã tải xuống bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Để tạo container từ image Debian, hãy chạy lệnh sau:
Sau khi container được tạo, bạn có thể thấy container đang chạy bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Để kết nối với vùng chứa Debian, hãy chạy lệnh sau:
Bạn sẽ vào được vùng chứa Debian như hiển thị bên dưới:
Bạn có thể xác minh phiên bản vùng chứa bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Để thoát khỏi vùng chứa, hãy chạy lệnh sau:
Để dừng vùng chứa, hãy chạy lệnh sau:
Để khởi động vùng chứa, hãy chạy lệnh sau:
Để xóa vùng chứa, hãy chạy lệnh sau:
Để xóa ảnh Debian, hãy chạy lệnh sau:
Bạn sẽ nhận được kết quả sau:
Bạn có thể liệt kê tất cả các tùy chọn lệnh Podman bằng lệnh sau:
Bạn sẽ thấy tất cả các tùy chọn hữu ích trong kết quả sau:
Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách cài đặt và sử dụng Podman trên máy chủ Ubuntu 22.04.
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.04.
- Mật khẩu gốc được cấu hình trên máy chủ.
Cài đặt Podman trên Ubuntu 22.04
Theo mặc định, gói Podman được bao gồm trong kho lưu trữ mặc định của Ubuntu. Bạn có thể cài đặt bằng cách chỉ cần chạy lệnh sau:
Mã:
apt install podman -y
Mã:
podman -v
Mã:
podman version 3.4.4
Mã:
podman info
Mã:
host: arch: amd64 buildahVersion: 1.23.1 cgroupControllers: - cpuset - cpu - io - memory - hugetlb - pids - rdma - misc 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: codename: jammy distribution: ubuntu version: "22.04" eventLogger: journald hostname: ubuntu2204 idMappings:
Cấu hình Podman Registry
Theo mặc định, Podman registry không được cấu hình để tải xuống và cài đặt hình ảnh container từ web. Vì vậy, trước tiên bạn cần cấu hình nó.
Mã:
nano /etc/containers/registries.conf
Mã:
[registries.search]registries=["registry.access.redhat.com", "registry.fedoraproject.org", "docker.io"]
Tải xuống hình ảnh bằng Podman
Podman cho phép bạn dễ dàng tìm kiếm và tải xuống hình ảnh từ web. Ví dụ, để tìm kiếm một hình ảnh Debian, hãy chạy lệnh sau:
Mã:
podman search debian
Mã:
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATEDdocker.io docker.io/library/ubuntu Ubuntu là một hệ điều hành Linux dựa trên Debian... 14959 [OK]docker.io docker.io/library/debian Debian là một bản phân phối Linux được cấu thành... 4435 [OK]docker.io docker.io/library/neurodebian NeuroDebian cung cấp các nghiên cứu về khoa học thần kinh... 93 [OK]docker.io docker.io/bitnami/debian-base-buildpack Hình ảnh biên dịch cơ sở Debian 2 [OK]docker.io docker.io/mirantis/debian-build-ubuntu-xenial 0docker.io docker.io/mirantis/debian-build-ubuntu-trusty 0docker.io docker.io/osrf/debian_arm64 Debian arm64 Ảnh cơ sở 1docker.io docker.io/rancher/debianconsole 1docker.io docker.io/dokken/debian-10 Ảnh Debian 10 để sử dụng với kitchen-dokken 0docker.io docker.io/dokken/debian-9 Ảnh Debian 9 cho kitchen-dokken 0docker.io docker.io/ustclug/debian Ảnh Debian chính thức với Gương USTC 1docker.io docker.io/dokken/debian-8 EOL: Ảnh Debian 8 cho kitchen-dokken 0docker.io docker.io/dokken/debian-11 Ảnh Debian 11 để sử dụng với kitchen-dokken 0docker.io docker.io/corpusops/debian-bare https://github.com/corpusops/docker-images/ 0docker.io docker.io/datadog/debian-i386 0docker.io docker.io/corpusops/debian debian corpusops baseimage 0docker.io docker.io/osrf/debian_armhf Debian Armhf Base Images 1docker.io docker.io/treehouses/debian 2docker.io docker.io/dokken/debian-7 EOL DISTRO: Để sử dụng với kitchen-dokken, Bas... 0docker.io docker.io/treehouses/debian-tags 0docker.io docker.io/dokken/debian-12 0docker.io docker.io/dockage/debian-runit Docker image sử dụng runit làm trình giám sát quy trình... 2 [OK]docker.io docker.io/galaxy/debian32-wheel 0docker.io docker.io/galaxy/debian-wheel 0docker.io docker.io/dockage/debian Ảnh Debian tạo thành cơ sở cho một số Do... 2 [OK]
Mã:
podman pull debian
Mã:
Nhận chữ ký nguồn ảnhĐã sao chép blob 23858da423a6 xongĐã sao chép config 43d28810c1 xongĐang ghi manifest vào đích ảnhLưu trữ chữ ký43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Mã:
podman images
Mã:
REPOSITORY TAG IMAGE ID CREATED SIZEdocker.io/library/debian latest 43d28810c1b4 5 ngày trước 129 MB
Tạo và quản lý container bằng Podman
Với Podman, bạn có thể dễ dàng tạo và quản lý container thông qua dòng lệnh.Để tạo container từ image Debian, hãy chạy lệnh sau:
Mã:
podman run -dit --name debian-container debian
Mã:
podman ps
Mã:
CONTAINER ID IMAGE COMMAND CREATED TÊN CỔNG TRẠNG THÁI533698eaf6f1 docker.io/library/debian:latest bash 6 giây trước Đã lên 6 giây trước debian-container
Mã:
podman attach debian-container
Mã:
root@533698eaf6f1:/#
Mã:
cat /etc/os-release
Mã:
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"NAME="Debian GNU/Linux"VERSION_ID="11"VERSION="11 (bullseye)"VERSION_CODENAME=bullseyeID=debianHOME_URL="https://www.debian.org/"SUPPORT_URL="https://www.debian.org/support"BUG_REPORT_URL="https://bugs.debian.org/"
Mã:
root@533698eaf6f1:/# exit
Mã:
podman stop debian-container
Mã:
podman start debian-container
Mã:
podman rm debian-container
Mã:
podman rmi debian
Mã:
Untagged: docker.io/library/debian:latestDeleted: 43d28810c1b4c28a1be3bac8e0e40fcc472b2bfcfcda952544ed99cb874d2b1a
Mã:
podman --help
Mã:
Quản lý pod, container và hình ảnhCách sử dụng: podman [tùy chọn] [lệnh]Các lệnh có sẵn: attach Đính kèm vào container đang chạy auto-update Tự động cập nhật container theo chính sách tự động cập nhật của chúng build Xây dựng một hình ảnh bằng hướng dẫn từ Containerfiles commit Tạo hình ảnh mới dựa trên container đã thay đổi container Quản lý container cp Sao chép tệp/thư mục giữa container và hệ thống tệp cục bộ create Tạo nhưng không khởi chạy một container diff Hiển thị các thay đổi đối với sự kiện hệ thống tệp của đối tượng Hiển thị sự kiện podman exec Chạy một quy trình trong container đang chạy export Xuất nội dung hệ thống tệp của container dưới dạng kho lưu trữ tar generate Tạo dữ liệu có cấu trúc dựa trên container, pod hoặc khối lượng healthcheck Quản lý kiểm tra tình trạng trên container help Trợ giúp về bất kỳ lịch sử lệnh nào Hiển thị lịch sử của một hình ảnh được chỉ định image Quản lý hình ảnh images Liệt kê hình ảnh trong bộ nhớ cục bộ import Nhập tarball để tạo hệ thống tệp image info Hiển thị thông tin hệ thống podman init Khởi tạo một hoặc nhiều container inspect Hiển thị cấu hình của đối tượng được biểu thị bằng ID kill Giết một hoặc nhiều container đang chạy bằng tín hiệu cụ thể load Tải hình ảnh(các) từ kho lưu trữ tar login Đăng nhập vào sổ đăng ký container logout Đăng xuất khỏi sổ đăng ký container logs Lấy nhật ký của một hoặc nhiều container machine Quản lý manifest máy ảo Thao tác danh sách manifest và chỉ mục hình ảnh mount Mount Mount hệ thống tệp gốc của container đang hoạt động network Quản lý mạng pause Tạm dừng tất cả các quy trình trong một hoặc nhiều container play Play container, pod hoặc volumes từ tệp có cấu trúc pod Quản lý pod port Liệt kê các ánh xạ cổng hoặc ánh xạ cụ thể cho container ps Liệt kê container pull Kéo một hình ảnh từ sổ đăng ký push Đẩy một hình ảnh đến đích đã chỉ định rename Đổi tên container hiện có restart Khởi động lại một hoặc nhiều container rm Xóa một hoặc nhiều container rmi Xóa một hoặc nhiều hình ảnh khỏi bộ nhớ cục bộ run Chạy lệnh trong container mới save Lưu hình ảnh vào tìm kiếm lưu trữ Tìm kiếm sổ đăng ký để tìm hình ảnh secret Quản lý secrets start Bắt đầu một hoặc nhiều container stats Hiển thị luồng trực tiếp số liệu thống kê sử dụng tài nguyên container stop Dừng một hoặc nhiều container system Quản lý thẻ podman Thêm tên bổ sung vào hình ảnh cục bộ top Hiển thị các quy trình đang chạy của container unmount Gỡ gắn hệ thống tệp gốc của container đang hoạt động unpause Bỏ tạm dừng các quy trình trong một hoặc nhiều container unshare Chạy lệnh trong một user namespace untag Xóa tên khỏi phiên bản hình ảnh cục bộ Hiển thị thông tin phiên bản Podman volume Quản lý volumes wait Chặn trên một hoặc nhiều container