Giao diện terminal hiển thị phiên bản Podman đang chạy trên máy ảo Debian
Máy Tính

Podman là gì? Hướng dẫn sử dụng và lợi ích khi thay thế Docker

Nếu bạn đã theo dõi các bài viết về dịch vụ self-hosted của chúng tôi, có thể bạn đã quen thuộc với khái niệm container. Với khả năng cách ly mạnh mẽ, dễ triển khai và thường tiêu tốn ít tài nguyên, container là xương sống của mọi máy chủ thử nghiệm và trạm làm việc self-hosting. Mặc dù Docker vẫn là một trong những môi trường chạy container phổ biến nhất, nhưng nó không phải là lựa chọn duy nhất cho những người thích mày mò. Nếu bạn đang tìm kiếm các giải pháp thay thế Docker, Podman đứng đầu danh sách, và đây là hướng dẫn nhanh giúp bạn bắt đầu với nền tảng tuyệt vời này.

Podman là gì và khác biệt với Docker?

Cả Podman và Docker về cơ bản đều là các công cụ container hóa, được thiết kế để giúp bạn triển khai dịch vụ trong môi trường biệt lập. Tuy nhiên, thay vì chạy một daemon (một ứng dụng bổ sung chạy nền) để xử lý các tác vụ container hóa, Podman sở hữu kiến trúc daemon-less (không có daemon). Do đó, Podman an toàn hơn đối thủ của nó, bởi vì bạn không có một daemon nào hoạt động như một bề mặt tấn công tiềm năng cho các mối đe dọa bảo mật.

Giao diện terminal hiển thị phiên bản Podman đang chạy trên máy ảo DebianGiao diện terminal hiển thị phiên bản Podman đang chạy trên máy ảo Debian

Theo mặc định, Podman chạy container trong môi trường rootless (không cần quyền root), trong khi Docker buộc bạn phải bật chế độ rootless nếu muốn tránh các lỗ hổng bảo mật liên quan đến việc triển khai container với đặc quyền root. Đúng như tên gọi của mình, Podman có thể kết hợp nhiều container bên trong các pod. Tương tự như các pod trong Kubernetes, pod là tập hợp các dịch vụ chia sẻ tài nguyên mạng và lưu trữ chung, khiến chúng trở nên hoàn hảo khi bạn muốn một số ứng dụng hoạt động cùng nhau nhưng vẫn giữ chúng biệt lập với phần còn lại của bộ ứng dụng self-hosted của bạn.

Hướng dẫn cài đặt Podman

Không giống như Docker, Podman được tích hợp sẵn trong hầu hết các bản phân phối RHEL, vì vậy bạn có thể chuyển sang phần tiếp theo nếu đang sử dụng Fedora hoặc các lựa chọn thay thế Red Hat. Đối với những người dùng các bản phân phối dựa trên Debian, bạn có thể tải Podman từ kho apt với các bước sau:

  1. Mở giao diện terminal có sẵn trong bản phân phối của bạn.

  2. Chạy lệnh apt install để cài đặt gói Podman.

    sudo apt install podman -y

    Quá trình cài đặt Podman bằng lệnh sudo apt install podman -y trên hệ điều hành DebianQuá trình cài đặt Podman bằng lệnh sudo apt install podman -y trên hệ điều hành Debian

    Nếu bạn đang sử dụng bản phân phối không phải Debian, bạn có thể dùng yum, nix, aur hoặc các kho lưu trữ khác có trong hệ điều hành cụ thể của bạn.

Triển khai Container với Podman

Giờ đây bạn đã cấu hình Podman trên máy của mình, đã đến lúc triển khai một container. May mắn thay, Podman tương thích với kho hình ảnh container của Docker Hub và tất cả những gì bạn phải làm là thêm chuỗi docker.io/ trước tên hình ảnh. Chúng ta sẽ triển khai Node-RED, một công cụ tự động hóa gia đình mạnh mẽ, trong hướng dẫn này.

  1. Trong giao diện terminal, chạy lệnh podman pull để tải xuống hình ảnh container.

    podman pull image_name
    podman pull docker.io/nodered/node-red

    Lệnh podman pull tải xuống image Node-RED từ Docker HubLệnh podman pull tải xuống image Node-RED từ Docker Hub

  2. Tương tự như Docker, bạn có thể sử dụng lệnh podman run để triển khai một container từ hình ảnh của nó: podman run -tên_tham_số tên_hình_ảnh

    podman run -it -p 1880:1880 -v node_red_data:/data --name mynodered docker.io/nodered/node-red

    Thực thi lệnh podman run để triển khai container Node-RED với các tùy chọn cổng và volumeThực thi lệnh podman run để triển khai container Node-RED với các tùy chọn cổng và volume

  3. Cuối cùng, bạn có thể kiểm tra trạng thái các container Podman của mình bằng lệnh ps:

    podman ps

    Kiểm tra trạng thái các container Podman đang chạy bằng lệnh podman psKiểm tra trạng thái các container Podman đang chạy bằng lệnh podman ps

Xây dựng Workstation Self-hosting mạnh mẽ với Podman

Lệnh podman container liệt kê các container đã và đang chạy trong môi trường PodmanLệnh podman container liệt kê các container đã và đang chạy trong môi trường Podman

Với những kiến thức cơ bản này, bạn đã có đủ công cụ để làm việc với Podman. Nếu bạn muốn làm việc với các pod, bạn có thể sử dụng lệnh podman create pod để tạo một pod. Sau đó, bạn có thể chạy các container trong đó bằng cách thêm cờ –pod khi thực thi lệnh podman run. Vì Podman tương thích với Kubernetes, bạn có thể tận dụng Kubernetes làm nền tảng điều phối container cho các dịch vụ yêu thích của mình.

Mặc dù Podman bảo mật hơn Docker, nhưng nó không dễ tiếp cận bằng đối thủ. Chắc chắn, bạn có thể tận dụng các tiện ích bổ sung Podman-Compose và Quadlet để nâng cao tiện ích của nó, nhưng Docker Compose vẫn tốt hơn khi bạn muốn một phương pháp dễ dàng để triển khai container từ các tệp YAML.

Kết luận

Podman nổi bật như một lựa chọn thay thế Docker mạnh mẽ, đặc biệt nhờ kiến trúc daemon-less và khả năng chạy container rootless mặc định, mang lại lợi thế bảo mật đáng kể. Khả năng làm việc với các “pod” tương tự Kubernetes cũng mở ra nhiều tiềm năng cho việc quản lý ứng dụng phức tạp. Mặc dù có thể cần một chút thời gian để làm quen, đặc biệt nếu bạn đã quen với hệ sinh thái Docker Compose, nhưng những lợi ích về bảo mật và sự tích hợp với các tiêu chuẩn ngành như Kubernetes khiến Podman trở thành một công cụ không thể bỏ qua cho bất kỳ ai quan tâm đến container hóa và self-hosting. Hãy thử nghiệm Podman ngay hôm nay để trải nghiệm một cách tiếp cận container hóa an toàn và linh hoạt hơn!

Related posts

Chạy Home Assistant Trên Laptop Cũ: Tận Dụng Phần Cứng Lỗi Thời Hiệu Quả

Administrator

Outline: Giải pháp thay thế Google Docs đáng cân nhắc cho người dùng Việt?

Administrator

Tự Động Dọn Dẹp File Tạm Trên Windows 11: Hướng Dẫn Chi Tiết

Administrator

eGPU: Giải pháp đột phá cho hiệu năng và tản nhiệt laptop gaming

Administrator

Tại Sao Card Đồ Họa Nvidia Founders Edition Không Phải Là Lựa Chọn Tối Ưu?

Administrator

RetroArch: Khám phá các Core Giả Lập Chính Xác Nhất để Tái Hiện Game Retro Đỉnh Cao

Administrator