【问题标题】:How to run Arangodb on Openshift?如何在 Openshift 上运行 Arangodb?
【发布时间】:2017-11-29 01:47:29
【问题描述】:

虽然如here 所述,OpenShift Container Platform 用户可以使用不同的数据库映像,但包括 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 部分中记录的那样以 root 身份运行容器。我试图将映像中进程可能写入的目录和文件的权限更改为归根组所有,并在 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。

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

  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 提供。但最后,我变得更加困惑。

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

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

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

【问题讨论】:

  • 我对此非常感兴趣,因为我想以同样的方式进行设置,但是 Arangodb 在 Google 的 Openshift 上缺乏结果让我望而却步。你见过this github repo吗?我知道不是专门针对 Openshift,但也许它可以提供帮助。

标签: docker openshift dockerfile arangodb


【解决方案1】:

在 ArangoDB 3.4 中,docker 镜像已迁移到基于 alpine 的镜像,当以正确的方式调用时,其核心现在不应再调用 CHOWN/CHRGRP。

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

如果您在 openshift 上运行 ArangoDB 时仍有问题,请使用 the github issue tracker 处理您看到的具体问题。您可能还想尝试向 dockerfile 添加更改,以便对其进行改进。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 1970-01-01
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    相关资源
    最近更新 更多