我正在尝试创建具有自定义路径的卷,我希望卷数据路径为 /home/$USER/data 而不是默认路径
~/.local/share/containers/storage/volumes
。
我用谷歌搜索但找不到结果,所以我从 chatGPT 获得了帮助,然后根据指导我使用以下命令创建了卷:
podman volume create -o device=/home/$USER/data myvol
卷已创建
podman volume inspect myvol
{
"Name": "myvol",
"Driver": "local",
"Mountpoint": "/home/noor/.local/share/containers/storage/volumes/myvol/_data",
"CreatedAt": "2023-03-01T15:58:43.923688206+05:30",
"Labels": {},
"Scope": "local",
"Options": {
"device": "/home/noor/data"
},
"MountCount": 0,
"NeedsCopyUp": true,
"NeedsChown": true
}
但是当我运行容器时,出现以下错误。
podman run -it -d --name apache -v myvol:/usr/local/apache2/htdocs -p 8080:80 httpd
Error: error mounting volume myvol for container 0715cd8b6a02ac6ff069c2053a40992e4cacfff1d18fad6fa0e12b551dc10335: mount: /home/noor/.local/share/containers/storage/volumes/myvol/_data: permission denied.
任何指导都会有所帮助。
看来你还需要指定
-o=o=bind
$ mkdir ~/data
$ podman volume create \
-o device=/home/$USER/data \
-o=o=bind \
myvol
myvol
$ podman run \
-it \
-d \
--name apache \
-v myvol:/usr/local/apache2/htdocs \
-p 8080:80 \
docker.io/library/httpd
7642c34e76ed0f34ed77f092c3a7cec7bfbf7b4344f0d7068658fb000042a392
$
我在 Fedora 37 上使用了 podman 4.4.2 并且 在这里找到命令 https://github.com/containers/podman/issues/12013#issuecomment-1017998512
(GitHub问题评论还指定了
-o type=none
。我猜不需要)