# 查看現有 image podman images # 下載 image 並指定版本 podman pull rockylinux:8.7 podman images # 移除 image podman rmi rockylinux:8.7
# 運行 image 建立容器並執行 hello podman run rockylinux:8.7 echo hello # 查看運行中的容器(顯示運行中列表) podman ps # 查看所有容器列表(包含停止的) podman ps -a
podman run --name lab1 rockylinux:8.7 echo hello podman ps -a
podman rm lab1 podman ps -a
podman run --name lab2 -it rockylinux:8.7 # 進入容器後的提示符 root@ContainerID# # 離開容器(exit) root@ContainerID# exit # 查看運行與所有容器 podman ps podman ps -a
podman run -itd --name lab2 rockylinux:8.7 podman ps
podman attach lab2 # 離開時若容器內無其他程序執行,容器會停止 root@ContainerID# exit
podman start lab2 podman stop lab2
說明: 容器會維持運作,必須有持續執行的程序。 若只執行一次性命令,命令結束容器也會停止。 停止中的容器無法進入互動。
說明:
# 啟動背景執行容器 podman start lab2 podman ps # 在容器內執行 bash 指令(進入容器) podman exec -it lab2 bash # 離開後容器仍在背景執行 root@ContainerID# exit podman ps
# 複製 Host 的檔案到容器 podman exec lab1 ls -l /tmp/ podman cp /etc/system-release lab1:/tmp/ podman exec lab1 ls -l /tmp/ # 複製容器檔案到 Host ls -l /tmp/ podman cp lab1:/tmp/system-release /tmp/lab1-file.txt ls -l /tmp/ # 複製容器檔案到另一容器 podman exec lab2 ls -l /tmp/ podman cp lab1:/tmp/system-release ./ podman cp ./system-release lab2:/tmp/lab1-file.txt podman exec lab2 ls -l /tmp/
podman inspect lab1 podman inspect lab2
podman run -itd --name lab1 rockylinux:8.7 podman top lab1 podman exec -it lab1 bash podman top lab1
# 透過 top 查詢 PID podman top lab1 # 在容器內 kill 指定 PID podman exec lab1 kill <PID>
Container 基本操作 (podman)
Image 操作
# 查看現有 image podman images # 下載 image 並指定版本 podman pull rockylinux:8.7 podman images # 移除 image podman rmi rockylinux:8.7容器相關
啟動一個新容器
# 運行 image 建立容器並執行 hello podman run rockylinux:8.7 echo hello # 查看運行中的容器(顯示運行中列表) podman ps # 查看所有容器列表(包含停止的) podman ps -apodman run --name lab1 rockylinux:8.7 echo hello podman ps -apodman rm lab1 podman ps -a與 Container 互動
podman run --name lab2 -it rockylinux:8.7 # 進入容器後的提示符 root@ContainerID# # 離開容器(exit) root@ContainerID# exit # 查看運行與所有容器 podman ps podman ps -apodman attach lab2 # 離開時若容器內無其他程序執行,容器會停止 root@ContainerID# exit從外部執行容器內行程
# 啟動背景執行容器 podman start lab2 podman ps # 在容器內執行 bash 指令(進入容器) podman exec -it lab2 bash # 離開後容器仍在背景執行 root@ContainerID# exit podman ps檔案複製
# 複製 Host 的檔案到容器 podman exec lab1 ls -l /tmp/ podman cp /etc/system-release lab1:/tmp/ podman exec lab1 ls -l /tmp/ # 複製容器檔案到 Host ls -l /tmp/ podman cp lab1:/tmp/system-release /tmp/lab1-file.txt ls -l /tmp/ # 複製容器檔案到另一容器 podman exec lab2 ls -l /tmp/ podman cp lab1:/tmp/system-release ./ podman cp ./system-release lab2:/tmp/lab1-file.txt podman exec lab2 ls -l /tmp/容器資訊查詢
Container 與行程管理
查看容器內行程
podman run -itd --name lab1 rockylinux:8.7 podman top lab1 podman exec -it lab1 bash podman top lab1從外部刪除容器內行程
# 透過 top 查詢 PID podman top lab1 # 在容器內 kill 指定 PID podman exec lab1 kill <PID>