2

我在 OCI 容器 (docker.io/library/mongo) 中运行 MongoDB。我想在 /data/db 的容器内挂载一个主机目录(Kubernetes 用语中的 hostPath 挂载)。我在 Fedora Silverblue(具有相同 CLI 的 Docker 替代方案)上使用 Podman,但我认为问题不在于 Podman 或 Silverblue 不兼容。

使用:

podman run --name container_name -p=27017:27017 --mount type=bind,source=/path/to/dir,target=/data/db -d mongo

或者

podman run --name container_name -p=27017:27017 -v /path/to/dir:/data/db -d mongo

容器以以下日志退出:

cannot configure rootless cgroup using the cgroupfs manager
find: '/data/db': Permission denied
chown: changing ownership of '/data/db': Permission denied

容器中 mongo 用户的用户 ID 是 999,我尝试将主机目录更改为该用户,但这无济于事。我也尝试将主机的文件夹设置为具有全局读写访问权限,但这也无济于事。

4

1 回答 1

3

事实证明,添加relabel=shared允许目录挂载。所以命令变成 podman run --name container_name -p=27017:27017 --mount type=bind,destination=/data/db,relabel=shared -d mongo

于 2020-01-14T08:15:25.290 回答