如何在Openshift上运行Arangodb?

时间:2017-06-26 08:50:58

标签: docker openshift dockerfile arangodb

虽然不同的数据库图像可供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>

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

  1. Getting any Docker image running in your own OpenShift cluster
  2. User namespaces have arrived in Docker!
  3. new-app fails on some official Docker images due to chown permissions
  4. 我也试过看mongodb image进行逆向工程 由openshift提供。但最后,我更加困惑。
  5. 我也不想让群集管理员允许项目以root用户身份运行:

     # oadm policy add-scc-to-user anyuid -z default
    

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

1 个答案:

答案 0 :(得分:0)

使用ArangoDB 3.4,泊坞窗映像已迁移到基于高山的映像,并且当以正确的方式调用时,其核心现在不应再调用CHOWN / CHRGRP。

这应该是使其在Openshift上运行的要求之一。

如果您仍然无法在openshift上运行ArangoDB,请对发现的特定问题使用the github issue tracker。您可能还想尝试对dockerfile添加更改,因此可以对其进行改进。