我目前面临 Docker for Windows 10 的一些“权限被拒绝”问题。
我正在使用这张图片:Intersystems IRIS
我的这个图像的 Dockerfile 是:
FROM store/intersystems/iris-community:2020.2.0.204.0
此外,我正在使用docker -compose,docker-compose.yml:
version: '2'
services:
backend:
container_name: iris
build:
context: ./container/IRISDataPlatform
dockerfile: Dockerfile.yaml
volumes:
- ./container/IRISDataPlatform/ext:/external
ports:
- "9091:51773"
- "9092:52773"
environment:
- ISC_DATA_DIRECTORY=/external/irissys
- ICM_SENTINEL_DIR=/external
command: --password-file /external/password.txt
问题是每当我执行docker-compose up -d容器在几秒钟后退出并显示以下消息:
[INFO] 正在初始化 IRIS,请稍候...
启动 IRIS
./irisrecov 的所有权无效
正在初始化 IRIS,请稍候...
启动 IRIS
恢复失败。启动中止。
[错误] 命令“iris start IRIS quiet”以状态 256 退出
07/07/20-15:46:02:326 (374) 0 [Utility.Event] ISC_DATA_DIRECTORY=/external/irissys
07/07/20-15:46:02:353 (374) 0 [Utility.Event] 执行 iris qlist
07/07/20-15:46:02:580 (374) 0 [Utility.Event] 版本相同
07/07/20-15:46:02:596 (374) 0 [Utility.Event] 源 /usr/irissys: 2020.2.0.204.0com
07/07/20-15:46:02:612 (374) 0 [Utility.Event] 目的地 /external/irissys: 2020.2.0.204.0com
07/07/20-15:46:02:627 (374) 0 [Utility.Event] 执行 iris 更新 IRIS 目录=/usr/irissys datadir=/external/irissys versionid=2020.2.0.204.0com
07/07/20-15:46:02:680 (374) 0 [Utility.Event] 执行 find /usr/irissys/ -type d -exec chmod ugo-w {} +
07/07/20-15:46:03:349 (374) 0 [Utility.Event] 执行 chmod ugo-w /usr/irissys/
[错误] 可能的原因:
[错误] - IRIS 二进制文件的用户/组所有权不正确
[错误] - 对 ISC_DATA_DIRECTORY 的写入权限不足
[致命] 启动 InterSystems IRIS 时出错
到目前为止我尝试了什么:
- 将“用户”属性添加到后端服务并将其设置为“root”或“irisowner”-> 两者都不起作用
- 将“RUN adduser irisusr root && adduser irisusr irisusr”添加到我的 Dockerfile(如此处所述:“https://community.intersystems.com/post/using-intersystems-iris-containers-docker-windows”)但它以:docker-compose build时,“adduser 只有 root 可以将用户或组添加到系统”
你知道有什么解决办法吗?
提前致谢