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

我在安全的env上使用非root用户来运行库存DBdocker容器(elasticsearch)。 当然 – 我想要装入数据,所以当容器被销毁时我不会丢失数据。

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

我知道,大多数docker的图像使用从内部的root用户,但我怎样才能控制主机的文件所有权?

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

这是docker的首选数据模式,你可以在这个 docker页面find更多。

为了回答你的问题,请使用“docker run –user'$(id -u)'…”它将使用当前用户标识在容器中运行程序,那么你可能会有和我一样的问题。

我以某种方式回答了这个问题,我希望这可能会有用。 具有'–user'的Docker不能写入不同所有权的卷