如何在Openshift上运行Arangodb?

问题描述 投票:3回答:1

虽然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。

现在,我真的很困惑。我经常阅读和搜索:

  1. FATAL cannot set uid 'arangodb': Operation not permitted
  2. Getting any Docker image running in your own OpenShift cluster
  3. User namespaces have arrived in Docker!
  4. 我还尝试通过查看openshift提供的new-app fails on some official Docker images due to chown permissions来进行逆向工程。但最后,我更加困惑。

我也不想让集群管理员允许项目以root用户身份运行:

mongodb
image

我读的越多,我就越困惑。有没有人在此之前完成它可以为我提供一个我可以在Openshift上运行的docker容器?

docker openshift dockerfile arangodb
1个回答
0
投票

使用ArangoDB 3.4,docker镜像已经迁移到基于alpine的Image,现在它的核心不应该以正确的方式调用CHOWN / CHRGRP。

这应该是让它在Openshift上运行的要求之一。

如果在openshift上运行ArangoDB时仍然遇到问题,请使用 # oadm policy add-scc-to-user anyuid -z default 以及您看到的特定问题。您可能还想尝试将更改添加到dockerfile,因此可以对其进行改进。

© www.soinside.com 2019 - 2024. All rights reserved.