Docker,只读卷

我正在使用Docker,并且我想安装一个变化很大的dyanmic文件夹(所以我不必为每个执行都做docker,这将会太昂贵),但是我希望这个文件夹是只读的。 将文件夹所有者更改为其他人可以工作,但是chown需要root访问权限,我不想将其暴露给应用程序。

当我使用-v标志来挂载时,它给出了我给的任何用户名,我在docker镜像里面创build了一个非root用户,但是拥有所有者作为docker的用户的卷中的所有文件都变成了用户I从命令行给出,所以我不能只读文件和文件夹。 我怎样才能防止这个?

我还添加了mustafa ALL=(docker) NOPASSWD: /usr/bin/docker ,所以我可以通过terminal切换到另一个用户,但是这些文件仍然对我的用户有权限。

您可以通过在-v开关后附加:ro来指定卷应该是只读的:

 docker run -v /path/on/host:/path/on/container:ro my/image 

请注意,该文件夹在容器中是只读的,在主机上是可读写的。