是否可以在运行时更改Docker挂载的只读/读写状态?
我有一个使用文件系统存储大量状态的码头化应用程序.应用程序代码包含在docker映像中 我正在考虑一种更新策略,该策略涉及在两个容器之间共享卷,但要确保一次最多只有一个容器可以写入该文件系统. 工作流程为: >使用/ data挂载rw启动容器A 最佳答案
您可以在rw模式下从容器内部重新安装卷,如下所示:
问题是,默认情况下,在Docker容器内不允许mount syscall,因此您必须在特权模式下运行它:
或启用SYS_ADMIN功能
(请注意,我还必须添加–security-opt apparmor:unconfined才能在Ubuntu上实现此功能). 另外,将rw卷重新安装到ro可能很棘手,因为某些进程可能已经打开了其中的一些文件进行写入,在这种情况下,重新加载将失败,并显示繁忙错误消息. 但是我的猜测是,您可以改为重新启动容器(因为它将运行旧版本的应用程序). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |