【问题标题】:Make all folders in Docker read-only EXCEPT [duplicate]将 Docker 中的所有文件夹设为只读,除了 [重复]
【发布时间】:2021-12-27 15:28:31
【问题描述】:

我需要将目录中的所有文件夹设置为只读/只读/只读(通过volumes),除了一个特定文件夹

# All read-only
/opt/users_project:/opt/users_project:ro
# except myuser folder
/opt/users_project/myuser:/opt/users_project/myuser

怎么做?

P.S.:不,那里没有答案 (Docker, mount volumes as readonly)!

【问题讨论】:

  • @Mr.不幸的是,我在那里没有看到异常文件夹替换表单(
  • 这些目录中有什么?你可以COPY Dockerfile 中的users_project 目录,使其归root 拥有,然后将USER 切换为非root 用户吗?这实际上会使代码成为只读的,并让您绑定挂载一个可写的数据目录。
  • 您似乎已经在您的问题中回答了它。您能否显示您尝试运行的命令以及您看到的错误。确保它是minimal reproducible example。
  • 不,那里没有答案 (stackoverflow.com/questions/19158810/…)!请从这里移除重复的骰子。

标签: docker docker-compose


【解决方案1】:

只需使用所需的设置绑定挂载目录:

docker run -v /opt/users_project/:/opt/users_project/:ro -v /opt/users_project/myuser/:/opt/users_project/myuser/:rw your_image

这将首先将/opt/users_project/ 和所有包含的目录以只读方式绑定到容器中。 除此之外/opt/users_project/myuser/ 是绑定挂载的读写功能,允许容器仅更改该目录中的文件。

docker 将自动考虑嵌套卷并始终首先挂载父卷。与docker-compose 类似。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 2017-07-01
    相关资源
    最近更新 更多