簡單開始 podman
podman podman -What
- podman
-
一個容器引擎,可以取代
docker
。
How
-
podman search
先搜尋有哪些 image
可下載。
首先需要編輯 registries.conf
來設定要搜尋的存儲庫,才能正確使用 podman search
。
可以直接編輯全域的 /etc/containers/registries.conf
或家目錄下的 ~/.config/containers/registries.conf
。
增加或編輯下列設定:
unqualified-search-registries = ["docker.io", "quay.io"] // or registries = ["docker.io", "quay.io"]
再使用 podman search
搜尋存儲庫中的 images
:
> podman search <TERM>
ex: podman search ubuntu
-
podman pull
將遠端的 image
下載到本地端。
> podman pull <IMAGE:TAG>
ex: podman pull node:18.16
-
podman images
下載後可,查看本地端的 images
。
> podman images
// REPOSITORY TAG IMAGE ID CREATED SIZE
// docker.io/library/node 18.16 c9e4d88ad304 43 hours ago 1.02 GB
-
podman run
建立容器並執行。
> podman run -dt --name <your_name> <IMAGE ID or REPOSITORY>
// or
> podman run --detach --tty --name <your_name> <IMAGE ID or REPOSITORY>
detach: 會將該容器放在後台執行。 tty: 會開啟一個 tty 介面,可以進行互動。 name: 給予容器名稱。建議取一個有意義的名稱,沒有則 podman 會自動產生。
ex: podman run -dt --name my_node node:18.16
-
podman create
效果同 podman run
,但只建立容器不立刻執行。
> podman create --name <your_name> <IMAGE ID or REPOSITORY>
ex: podman create --name my_node node:18.16
-
podman ps
查看正在執行的容器。
> podman ps
// CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
// 86d20ef4e3e8 docker.io/library/node:18.16 node 2 minutes ago Up 2 minutes ago my_node
-
podman attach
進入正在執行的容器。
> podman attach <CONTAINER ID or NAMES>
若使用 .exit
離開。
離開後容器將會停止,如果要容器運行,可以使用 podman start
來進入容器。
使用 podman ps -a
可以查看所有容器,包含已停止的容器。
> podman ps -a
// CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
// 86d20ef4e3e8 docker.io/library/node:18.16 node 3 hours ago Exited (0) 13 seconds ago my_node
使用 ctrl + p + q 離開,容器將會繼續運行,不會停止。
-
podman exec
進入正在執行的容器。
> podman exec -it <CONTAINER ID or NAMES> <COMMAND>
ex: podman exec -it my_node bash
執行 bash
指令,進入容器。進入容器後,可以下各種指令,使用 exit
來離開。
-
podman stop
停止正在執行的容器。
> podman stop <CONTAINER ID or NAMES>
-
podman start
開始執行已停止的容器。
> podman start <CONTAINER ID or NAMES>
-
podman rm
刪除容器。刪除之前,要先停止容器。
> podman rm <CONTAINER ID or NAMES>
ex: podman rm my_node
或強制刪除容器。
ex: podman rm -f my_node
-
podman rmi
刪除 image
。
> podman rmi <IMAGE ID or REPOSITORY>
ex: podman rmi node:18.16