docker - Iotedge windows 容器卷访问
问题描述
我有一个 Windows 容器模块,它应该写入主机上卷文件夹内的一个简单文本文件。该模块经过硬编码,可以在启动时将相同的内容写入同一个文件(这是出于测试目的)。
预期行为
初始化模块并在主机上创建一个卷,并在该卷中创建一个文本文件。
实际行为
该模块不允许写入其卷,我收到以下访问权限问题。 卷访问权限问题
如果我将“用户”添加到卷文件夹并授予该组修改卷的权限,那么一切正常。
问题
有没有办法在不每次手动更改卷访问选项的情况下做到这一点?如果不是,允许卷访问其 Windows 容器的最佳做法是什么?
设备信息 Windows 10 Enterprise LTSC iotedge 1.1.3
解决方案
Moby 引擎卷的默认路径中是否有相同的行为?
路径:C:\ProgramData\iotedge-moby\volumes
创建/设置命令:
docker -H npipe:////./pipe/iotedge_moby_engine volume create testmodule
在本卷中,我从未遇到过问题(目前我们使用 Edge Runtime 1.1.4 + Windows Server 2019)。
如果我们使用这个“默认”卷之外的目录,我们需要手动授权“Authenticated Users”(修改、读取、写入、列出和执行)以允许容器/Moby 引擎在那里写入/读取。
推荐阅读
- spark-ar-studio - 我们可以在 Spark AR 中跟踪快乐、悲伤、愤怒等面部情绪吗?
- large-data - 大规模线性约束凸二次优化 - R/Python/Gurobi
- stream - WebRTC videochat p2p:从本地流切换到 p2p 流
- php - make $user 未定义 使变量在刀片模板中成为可选。将 {{ $user }} 替换为 {{ $user ?? '' }}
- regex - 正则表达式 - 转义元字符
- vue.js - 在Vue中将项目添加到数组
- php - 使用 AJAX 动态更新 PHP HTML 表
- reactjs - React App Nginx config静态文件别名不起作用
- jenkins - Jenkins 'pscp' 不是内部或外部命令、可运行程序或批处理文件
- django - 在 Heroku(Django 项目)上管理多个 PostgreSQL 实例