虽然qzxswpoi解释说OpenShift Container Platform用户可以使用不同的数据库图像,但其他包括Arangodb在内的其他数据库图像尚不可用。我尝试通过Openshift CLI运行以下命令来安装here:
Arangodb official container from Dcokerhub
但它没有成功运行抛出以下错误:
oc new-app arangodb
它与权限有关。默认情况下,OpenShift使用任意分配的用户ID运行容器,而不是chown: changing ownership of '/var/lib/arangodb3': Operation not permitted
部分中记录的根。我尝试将可能由映像中的进程写入的目录和文件的权限转换为根组拥有,并且可以由Dockerfile中的该组读取/写入:
Support Arbitrary User IDs
这次它抛出以下错误:
RUN chgrp -R 0 /some/directory \
&& chmod -R g+rwX /some/directory
通过查看初始化arangodb(arangod脚本)的脚本,arangodb作为arangodb运行:arangodb,在Openshift的情况下应该(或可能!!!)是arangodb:0。
现在,我真的很困惑。我经常阅读和搜索:
FATAL cannot set uid 'arangodb': Operation not permitted
我也不想让集群管理员允许项目以root用户身份运行:
mongodb image
我读的越多,我就越困惑。有没有人在此之前完成它可以为我提供一个我可以在Openshift上运行的docker容器?
使用ArangoDB 3.4,docker镜像已经迁移到基于alpine的Image,现在它的核心不应该以正确的方式调用CHOWN / CHRGRP。
这应该是让它在Openshift上运行的要求之一。
如果在openshift上运行ArangoDB时仍然遇到问题,请使用 # oadm policy add-scc-to-user anyuid -z default
以及您看到的特定问题。您可能还想尝试将更改添加到dockerfile,因此可以对其进行改进。