【问题标题】:ownership of files that are written by the docker container to mounted volume由 docker 容器写入到挂载卷的文件的所有权
【发布时间】:2015-11-27 12:59:16
【问题描述】:

我在安全环境中使用非 root 用户来运行数据库 docker 容器 (elasticsearch)。当然——我希望数据能够被挂载,这样当容器被销毁时我就不会丢失它。

问题是这个容器以 root 所有权写入该卷,然后主机没有权限移动/rm 它们。

我知道大部分 docker 镜像都是从内部使用 root 用户,但是如何控制宿主机的文件所有权呢?

【问题讨论】:

    标签: linux docker


    【解决方案1】:

    您可以创建一个数据容器docker create -v /usr/share/elasticsearch/data --name esdata elasticsearch /bin/true,然后在您的容器docker run -d --volumes-from esdata --name some-elasticsearch elasticsearch 中使用它。

    这是 docker 的首选数据模式,您可以在this docker 页面中找到更多信息。

    【讨论】:

      【解决方案2】:

      要回答您的问题,请使用“docker run --user '$(id -u)' ...”它会在具有当前用户 ID 的容器内运行程序,那么您可能会遇到和我一样的问题。

      我以某种方式回答了它,希望它可能有用。 Docker with '--user' can not write to volume with different ownership

      【讨论】:

        猜你喜欢
        • 2019-12-26
        • 2021-09-17
        • 1970-01-01
        • 2015-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多