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