DevOps – Podman: Một công cụ thay thế cho Docker

Tram Ho

Docker là công cụ dùng để quản lý và tương tác với containers, Docker chắc không quá xa lạ với mọi người. Tuy nhiên, ở trong mảng quản lý containers này cũng còn rất nhiều công cụ khác có thể thay thế Docker được, Podman là một trong những công cụ đó.

Docker được ra mắt vào năm 2013 là phiên bản mã nguồn mở hoàn toàn miễn phí. Tuy nhiên trong năm 2022 thì Docker đã không còn hoàn toàn miễn phí nữa mà đi kèm với nó là một số phiên bản Personal, Pro, Team, Business. Nếu ta xài bản miễn phí thì sẽ bị giới hạn một số thứ, ví dụ như “image pull rate limit”. Thì đa số mọi người đều có thói quen là hễ cái gì đang miễn phí mà tự nhiên không miễn phí nữa thì sẽ kiếm cái khác miễn phí để xài =))). Nên ở bài hôm nay chúng ta sẽ tìm hiểu về Podman.

Podman

Podman là một mã nguồn mở được phát triển bởi Redhat, là một công cụ dùng để quản lý, xây dựng và chạy containers.

Nếu bạn biết Kubernetes thì Redhat đã thiết kế Podman để làm việc với K8S, nên nếu ta xài K8S thì Podman là lựa chọn tốt hơn so với Docker.

Installing Podman

Để cài Podman trên khá đơn giản.

MacOS.

Centos.

Nếu bạn xài Centos7 thì gõ thêm vài câu lệnh sau dưới quyền root.

Ubuntu 20.10 trở lên.

Còn với môi trường Windows thì các bạn xem ở đây Podman for Windows guide.

Getting Started

Nếu bạn đã xài Docker thì thao tác với Podman sẽ rất đơn giản, vì Podman có toàn bộ câu lệnh của Docker. Nếu bạn đang xài Docker trên Linux và muốn chuyển sang Podman thì chỉ đơn giản thêm đoạn alias docker=podman vào file ~/.bashrc.

Bạn dùng các câu lệnh của Podman như cách bạn dùng Docker, ví dụ, tìm kiếm images.

Cách pull image của Podman cũng giống như cách ta dùng Docker, nhưng khác biệt ở một điểm là bạn sẽ chỉ định tên của registry khi pull luôn, nếu không mặc định nó sẽ pull từ registry registry.access.redhat.com xuống, ví dụ nếu ta gõ.

Thì nó sẽ pull từ registry.access.redhat.com/library/httpd, nên nếu bạn muốn pull từ docker hub xuống thì chỉ định registry là docker.io vào.

Sau khi pull xong để kiểm tra các images trên máy thì ta gõ.

Running a container

Để chạy container bằng Podman cũng rất đơn giản.

Kiểm tra container đã chạy chưa.

Vậy là ta đã chạy thử container bằng Podman thành công, gọi vào nó xem nó có trả về kết quả không.

Ngon. Nếu các bạn cần coi logs của container các bạn gõ.

Ngưng một container đang chạy.

Xóa container.

Như bạn thấy, thao tác với Podman rất đơn giản. Và một phần quan trọng nữa là cách build Container Image, tất nhiên là Podman cũng hỗ trợ ta build image

Building images

Cú pháp file build của Podman cũng giống y chang với Docker, chỉ khác là với Docker thì tên mặc định của file build là Dockerfile, còn với Podman thì là Containerfile. Ví dụ ta cần build một container image cho Go bằng Podman của một source code viết bằng Go.

Tạo một file tên là Containerfile nằm cùng cấp với 3 file trên.

Dán đoạn code sau vào file Containerfile.

Chạy câu lệnh build.

Kiểm tra container image ta vừa build.

Done. Các bạn like page DevOps VN để cập nhật tin tức về DevOps nhé.

Kết luận

Vậy là ta đã tìm hiểu xong về Podman, nó cũng rất đơn giản nếu bạn đã từng xài Docker. Đây là câu mà mình cần nhấn mạnh trong bài: nếu bạn biết Kubernetes thì Redhat đã thiết kế Podman để làm việc với K8S, nên nếu ta xài K8S thì Podman là lựa chọn tốt hơn so với Docker. Nếu có thắc mắc hoặc cần giải thích rõ thêm chỗ nào thì các bạn có thể hỏi dưới phần comment.

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo