由docker容器写入已装入卷的文件的所有权

时间:2015-09-02 06:29:01

标签: linux docker

我在安全的env上使用非root用户来运行stock DB docker container(elasticsearch)。当然 - 我想要安装数据,这样当容器被销毁时我就不会丢失它。

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

我知道大多数docker镜像都是从内部使用root用户,但是如何控制托管机器的文件所有权呢?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

要回答你的问题,请使用“docker run --user'$(id -u)'...”它将使用当前用户ID在容器中运行程序,然后你可能会遇到与我相同的问题。

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