進階使用 podman-掛載目錄
podman podman -How
將主機上的目錄掛到容器中
> podman images
//REPOSITORY TAG IMAGE ID CREATED SIZE
//docker.io/library/node 18.16 c9e4d88ad304 2 days ago 1.02 GB
使用 --volume
參數
首先在主機上建立一個目錄,使用映像檔建立容器,再將該目錄掛到容器中。
> mkdir -p /home/podman/share_folder
> podman create \
--tty \
--name my_vol \
--privileged \ // (1)
--volume /home/podman/share_folder/:/home/node/share_folder/:Z \ // (2)
docker.io/library/node
-
--privileged: 以 root 權限執行容器
-
--volume: 或用
-v
將主機上的目錄掛到容器中 <source>:<target>:Z
podman create
只會建立容器,不會啟動容器,所以要先使用 podman start
啟動容器,
再使用 podman exec -it <CONTAINER ID or NAME> bash
進入容器。
> podman ps -a
//CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
//57fc05833972 docker.io/library/node:18.16 node About an hour ago Up About an hour ago my_vol
> podman exec -it 57fc05833972 bash // (1)
root@57fc05833972:/# cd /home/node/share_folder/
root@57fc05833972:/# touch hello
root@57fc05833972:/# exit
> ls /home/podman/share_folder // (2)
//drwxrwxr-x 2 root root 4096 Apr 16 05:34 .
//drwxr-xr-x 1 podman podman 4096 Apr 16 04:51 ..
//-rw-r--r-- 1 root root 12 Apr 16 05:34 hello
-
進入容器中並建立一個檔案。
-
檢查主機上的目錄,可以看到剛剛建立的檔案。
或是使用 --mount
參數
> podman run -dt --mount type=bind,source=/host/path,target=/container/path <IMAGE_NAME or ID>