我在一个安全的环境中使用非root用户来运行stock DB docker容器(elasticsearch)。当然-我希望挂载数据,这样当容器被销毁时我就不会丢失它。
问题是,这个容器以root所有者身份写入该卷,然后主机没有移动/rm它们的权限。
我知道大多数docker镜像从内部使用root用户,但我如何控制托管计算机的文件所有权?
发布于 2015-09-02 16:07:28
您可以创建一个数据容器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页面中找到更多信息。
发布于 2015-10-14 00:03:28
要回答您的问题,请使用"docker run --user '$(id -u)‘...“它将使用当前用户id在容器中运行程序,然后您可能会遇到与我相同的问题。
我以某种方式回答了它,我希望它可能是有用的。Docker with '--user' can not write to volume with different ownership
https://stackoverflow.com/questions/32346029
复制相似问题