Last Updated on 2023-07-03 by Clay
Introduction
Podman 是一個專用來管理容器(container)和鏡像(image)的開源工具,全名為 Pod Manager tool (podman)。Podman 是一個與 docker 相似的工具,但是設計上有一些小區別。
- Daemonless & Rootless:
每一個 Podman 都是獨立的 process,並不需要存在有中央 process 具備 root 權限。這樣一來,系統的安全性比較好。 - 兼容性:
Podman 指令與 Docker CLI 兼容,大部分的指令都與 docker 一致,熟悉 docker 的使用者學習成本比較低。 - Pod:
Podman 中引入了與 k8s 相似的 pod 概念,允許一組容器共享相同的網路命名空間。
Installation
# Ubuntu
sudo apt update -y
sudo apt install -y podman
# CentOS
sudo yum install -y podman
# Fedora
sudo dnf install -y podman
How to Use
建立容器
podman run -d --name my-nginx -p 8080:80 nginx
-d
代表以 deatach 模型運行 container,可以想像成 container 跑在系統後端--name
可以替 container 取一個可讀性較高的名稱,區分服務-p
映射 container 的 port 到主機。8080 是本地端的 port,80 是 container 中的 port。
運行 container 後,我們可以使用:
podman ps
來檢查 container 目前的運行狀況。
進入 container
podman exec -it my-nginx /bin/bash
停止與刪除 container
如果在交互模式下使用 container,可以輸入 exit
直接離開 container。
如果在外頭,則是:
停止 container
podman stop my-nginx
刪除 container
如果是要刪除 container:
podman rm my-nginx
查看 podman 日誌和版本資訊
podman -v
podman logs my-nginx
以上只是 podman 的基本使用方法,實際上 podman 還有許多高級功能與自定義的選項,有不同的需求時還是建議要常常參考官方文件。