在 Docker 容器内挂载 SMB/CIFS 共享

2023-11-22

我有一个在 Docker 容器中运行的 Web 应用程序。此应用程序需要访问我们公司文件服务器(具有 Active Directory 域控制器的 Windows Server)上的一些文件。我尝试访问的文件是为我们的客户创建的图像文件,网络应用程序将它们显示为客户投资组合的一部分。

在我的开发机器上,我通过以下条目安装了适当的文件夹/etc/fstab主机挂载点通过以下方式挂载到 Docker 容器中--volume争论。这非常有效。

现在,我正在尝试组装一个生产容器,该容器将在不同的服务器上运行,并且不依赖于主机上安装的 CIFS 共享。所以我尝试将适当的条目添加到/etc/fstab文件在容器中并安装它们mount -a. I get mount error(13): Permission denied.

网上的一些研究让我发现这篇关于 Docker 安全性的文章。如果我没看错的话,Docker 似乎明确拒绝在容器内挂载文件系统的能力。我尝试以只读方式安装共享,但这(毫不奇怪)也失败了。

所以,我有两个问题:

  1. 我对 Docker 阻止任何使用的理解是否正确mount容器内?

  2. 任何人都可以想出另一种方法来完成这个任务without在主机上挂载 CIFS 共享,然后在 Docker 容器中挂载主机文件夹?


是的,作为一项安全措施,Docker 正在阻止您在容器内安装远程卷。如果您信任您的镜像以及运行它们的人,那么您可以使用--privileged标志与docker run禁用这些安全措施。

此外,您可以结合--cap-add and --cap-drop仅向容器提供其实际需要的功能。(参见文档) The SYS_ADMINCapability 是授予挂载权限的能力。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Docker 容器内挂载 SMB/CIFS 共享 的相关文章

随机推荐

  • 如何使所有实体访问:EDMX 中的内部而不是公共?

    我希望我的实体框架模型能够生成实体internal访问修饰符 而不是public 我在库中使用 EF 模型 并且只希望从外部访问一个类 某些控制器 有没有什么简单的方法可以让EF模型生成使用internal修饰符而不是public 包括更新
  • 为什么我不能针对不同的浏览器对特定于浏览器的 CSS 选择器进行分组?

    我只是尝试编写以下规则来为支持它的浏览器设置输入占位符的样式 main input webkit input placeholder main input moz placeholder color 888 font style itali
  • Haskell Cabal v2 和沙箱

    我们被告知 这现在是 cabal 的遗留模式 用于管理用户定义的沙箱 cabal init sandbox cabal install
  • woocommerce 自定义运输方式未出现在运输区域中

    已编辑 原始帖子取得的进展 我创建了一个简单的自定义运输方法插件存根 请参阅下面的代码 该插件已注册并且now当我创建运送区域时 会出现在运送方式下拉列表中 但是 选择此选项后 运送区域不会出现自定义字段 参见 gif
  • 通过 System.Data.SQLite 和 c# 多次访问单个 SQLite 数据库文件

    正如我可以读到的SQLite 常见问题解答它支持在任意时刻多进程读取 SELECT 和仅一个进程写入 INSERT UPDATE DELETE 数据库 SQLite 使用读 写锁来控制对数据库的访问 当任何进程想要写入时 必须锁定整个数据库
  • 生成总和为 1 的值的组合,并按降序排序

    您是否知道一种更有效的方法来生成包含 权重 的所有唯一组合的矩阵 令权重为 w 且 0 这是完成这项工作的代码 但删除行似乎效率低下 generate combinations of weights such that w1 gt w2 g
  • 如何在C#中复制列表

    我想复制对象列表 但我不断获取对象之间的引用 List
  • Ajax中间件

    我似乎记得在 Laravel 4 中有一个 ajax 过滤器 这只允许通过 ajax 请求 Laravel 5 有类似的中间件吗 我有一条通过 ajax 从数据库获取数据的路由 我想保护这条路由 这样没有用户可以访问它并查看 json 数据
  • 如何在未选中复选框时显示 Javascript 确认框,然后如果用户选择取消,则保留复选框处于选中状态?

    我有一个小html form包含三个复选框 每个复选框row 我想要一个javascript confirm box当用户取消选中该框时显示 然后如果用户选择取消 则checkbox仍处于检查状态 我搜索过这个网站和其他一些网站 但几乎所有
  • Javascript indexOf 用于数组的数组未找到数组

    我有一个带有嵌套数组的数组 如下所示 var tw 3 0 11 0 3 14 11 14 当我尝试查找数组是否tw包含传入的数组 我总是得到 1的结果 例如 var test inArray 3 0 tw var test2 tw ind
  • 如何调试引用的 dll(具有 pdb)

    我的工作区中有两个解决方案 即 A 和 B 解决方案A是一个较旧的项目 我不久前完成了编码 在解决方案 B 中 我需要使用解决方案 A 中的一些类 为此 我添加了对解决方案 A 中项目之一的 dll 的引用 问题是当我尝试调试时 我也希望能
  • 在“Location:”标头中使用协议相关 URI

    我注意到在PHP手册其中规定如下 HTTP 1 1 需要绝对 URI 作为 Location 的参数 包括 方案 主机名和绝对路径 但有些客户端接受 相对 URI 为了方便有偏好的用户HTTPS 无处不在连接 我正在考虑更改 PHP 脚本中
  • 用户通知 - 如何从 GCM 恢复丢失的 notification_id?

    我生成notification key如上所述here 假设由于某些错误我无法存储它 所以我尝试重新注册 这次我收到了 400 错误消息 notification key already exists 这看起来很奇怪 尤其是与将设备注册到
  • 如何使用 BeautifulSoup 查找节点的子节点

    我想得到所有 a 标签是 的子标签 li div div li li class test a link1 a ul li a link2 a li ul li 我知道如何查找具有特定类的元素 如下所示 soup find li class
  • Java Spring REST API 处理许多可选参数

    我目前正在搞一个 Spring Boot REST API 项目以用于教学目的 我有一个相当大的表 其中有 22 列加载到 MySQL 数据库中 并试图让用户能够按多列过滤结果 在本示例中假设为 6 列 我目前正在扩展一个存储库 并已初始化
  • singletonList有什么用?

    我正在寻找一些优雅的解决方案来从列表中删除空值 我遇到了以下帖子 这表示我可以使用list removeAll Collections singletonList null 然而 这引发了UnsupportedOperationExcept
  • File.Copy() 是否通过网络将文件从网络共享复制到同一台计算机上的另一个共享?

    如果我的 NET 客户端使用系统 IO 文件 复制从中复制文件 server1 share1 file1 txt to sever1 share2 file2 txt 文件的数据是否被读取到客户端 然后写回服务器 如果是 是否有任何方法 N
  • nginx过滤http洪水的配置

    A 我的服务器上有 http 洪水 没有太多查询 但无论如何 日志中的查询 95 55 237 3 06 Sep 2012 14 38 23 0400 GET HTTP 1 0 200 35551 Mozilla 5 0 Windows U
  • GlassFish、CDI 和构造函数注入

    GlassFish 3 1 的托管 bean 的 CDI 实现是否支持构造函数注入 我有一个 Singleton我想使用构造函数注入向其中注入另一个托管 bean 包含在同一 EJB 模块中 的 EJB 现场注入确实有效 但是通过构造函数注
  • 在 Docker 容器内挂载 SMB/CIFS 共享

    我有一个在 Docker 容器中运行的 Web 应用程序 此应用程序需要访问我们公司文件服务器 具有 Active Directory 域控制器的 Windows Server 上的一些文件 我尝试访问的文件是为我们的客户创建的图像文件 网