【问题标题】:How to create a persistent volume with rootless podman?如何使用无根 podman 创建持久卷?
【发布时间】:2020-10-30 01:37:47
【问题描述】:

我正在尝试运行一个 mongodb 容器。一切都很好,预计它不会启动,因为它无法修改给定卷的权限。 Red Hat article 中有一个关于此问题的可能修复程序,但它可能无法正常工作,因为容器内的 mongodb 以 root 身份执行所有操作。 (或者至少我没有成功)

here 也发布了一个可行的解决方案,但它仅在将容器安装在与容器中相同的目录时才有效,这不是我的情况。

是否可以在没有 root 的情况下运行类似的东西,或者现在唯一的选择是以 root 运行它?

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

【问题讨论】:

    标签: podman


    【解决方案1】:

    通过将:Z 附加到-v 选项的值,它可以在Fedora 32 上运行。

    这个例子表明它在没有:Z 时失败,但在:Z 时成功

    [user@laptop ~]$ cat /etc/fedora-release
    Fedora release 32 (Thirty Two)
    [user@laptop ~]$ podman --version
    podman version 2.0.3
    [user@laptop ~]$ mkdir /home/user/datadir
    [user@laptop ~]$ podman run -d -p 27017:27017 -v /home/user/datadir:/data/db --name container_name docker.io/library/mongo:latest
    09db7d3aa409f74e384396d7e8861aa1cb0a3533ffceeb21b604314c240d9772
    [user@laptop ~]$ podman container list
    CONTAINER ID  IMAGE   COMMAND  CREATED  STATUS  PORTS   NAMES
    [user@laptop ~]$ podman logs container_name
    find: '/data/db': Permission denied
    chown: changing ownership of '/data/db': Permission denied
    [user@laptop ~]$ podman container rm 09db7d3aa409f74e384396d7e8861aa1cb0a3533ffceeb21b604314c240d9772
    09db7d3aa409f74e384396d7e8861aa1cb0a3533ffceeb21b604314c240d9772
    [user@laptop ~]$ podman run -d -p 27017:27017 -v /home/user/datadir:/data/db:Z --name container_name docker.io/library/mongo:latest
    649c23b5e43bab97e0b446be29e9c5b6ebc26978d5faff818e078d16c35917b1
    [user@laptop ~]$ podman logs container_name | grep 27017
    2020-07-26T07:55:53.777+0000 I  CONTROL  [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=649c23b5e43b
    2020-07-26T07:55:54.371+0000 I  NETWORK  [listener] Listening on /tmp/mongodb-27017.sock
    2020-07-26T07:55:54.371+0000 I  NETWORK  [listener] waiting for connections on port 27017
    [user@laptop ~]$ 
    

    引用来自podman runman page

    Z 选项告诉 Podman 使用私有非共享标签标记内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-06
      • 1970-01-01
      • 2021-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多