当前位置: 首页 > 知识库问答 >
问题:

需要启用哪些权限才能使Docker卷工作?

金成济
2023-03-14

假设我有一个Docker容器来保存一些数据。我希望这些数据能够持久化--如果容器被停止、删除、升级等,我仍然希望这些数据位于主机OS文件系统中的一个可访问的位置。

那么,如何对正在挂载的目录设置正确的权限呢?

共有1个答案

谢翰学
2023-03-14

那么,如何对正在挂载的目录设置正确的权限呢?

Docker卷没有什么特别之处:为了让进程写入目录,该目录的所有权和权限需要允许写入。

默认情况下,Docker容器中的进程是以root的身份运行的,并且几乎可以在任何地方编写文件,不需要SELinux之类的附加限制。

chown 48 /srv/webserver

entrypoint脚本中设置权限

如果您正在构建自己的映像,则可以以root的身份运行容器,然后使用entrypoint脚本负责(a)设置所有权和权限,然后(b)切换到非特权用户来运行cmd

 类似资料:
  • 而我用AndroidStudio2.3来调试,有什么问题吗?更重要的是,我的AndroidManifest是这样的。

  • 我有一个使用Kinesis客户端库(KCL)编写的Kinesis消费者。此使用者在假定的IAM角色下运行。 我从文档中了解到: KCL使用应用程序名称创建一个DynamoDB表,并使用该表维护应用程序的状态信息(例如检查点和工作分片映射)。每个应用程序都有自己的DynamoDB表。有关详细信息,请参阅跟踪Amazon Kinesis数据流应用程序状态。 当然,我需要将dynamodb:Create

  • 问题内容: 我处在一个困难的情况下,我不知道一个进程需要什么Linux功能才能工作。最好的方法是什么,或者找出所需的上限的任何方法? 我现在唯一能想到的就是使用capsh并降低进程中的所有上限。然后,该过程失败,我开始添加上限(通过删除–drop = CAP_XZY),直到它起作用为止。 还有更好的建议吗? 问题答案: 我之前在Brendan Gregg的这篇博客文章中遇到的另一种方法是使用功能跟

  • 让我们让它变得简单,好吧,我的设备( Windows 10专业版) 应该支持 ( SLAT ) 根据核心信息工具,但当我尝试在我的电源外壳中运行系统信息时,我看到了这个 然后,当我尝试运行 Docker 时,它没有启动,它显示我必须在我的 BIOS 中启用虚拟化 我已经尝试了所有传统的东西,例如:1-在你的PowerShell类型 2-尝试重新启动你的电脑,并确保虚拟化在BIO设置中启用(我做了,

  • 我正在尝试根据Cloudwatch触发器,特别是Cloudwatch scheduled(cron)触发器设置ECS Fargate作业以运行。我已经设置了ECS群集,当我在群集上手动创建ECS Fargate任务时,作业运行正常,没有错误。我还设置了Cloudwatch cron触发器,我可以在Cloudwatch指标中看到触发器是按照我配置的方式设置的。我遇到的问题是,这两件事没有相互交谈。我