docker - 无法从 Web 界面访问 ArangoDB 服务

标签 docker arangodb nosql

我已使用 -e ARANGO_NO_AUTH=1 从 docker 容器启动了 ArangoDB,并映射了卷 /var/lib/arangodb3/var/lib/arangodb3-apps 到我的本地驱动器。接下来我想创建一个新的应用程序,但是当我从网络界面单击服务时,我收到以下错误:

GET http://127.0.0.1:8529/_db/_system/_admin/aardvark/foxxes 400(错误请求)

我是否需要经过身份验证才能执行此操作,还是这是一个 docker 问题?日志中没有错误。

在本例中,我使用的是 docker hub 的最新版本 2.8.9

Docker 命令:

docker run -e ARANGO_NO_AUTH=1 -p 8529:8529 --name arangodb-i -v /home/me/projects/dbs/arango/db:/var/lib/arangodb3 -v /home/me/projects/dbs/arango/apps:/var/lib/arangodb3-apps arangodb/arangodb

ArangoDB 信息:

INFO ArangoDB 3.0.0 [linux] 64bit, using VPack 0.1.30, ICU 54.1, V8 5.0.71.39, OpenSSL 1.0.1k 8 Jan 2015

Chrome 和 Firefox 中都会出现该错误消息,但curl 中不会出现该错误消息。

This error does not occur when i install arangodb in ubuntu, only when i run it with docker.

最佳答案

docker 镜像似乎需要设置授权 header ,但由于 ARANGO_NO_AUTH 它的设置似乎并不重要:

docker run --rm -e ARANGO_NO_AUTH=1 -p 8529:8529 arangodb/arangodb:3.0.0
curl  -H "Authorization: foo bar" http://127.0.0.1:8529/_db/_system/_admin/aardvark/foxxes
[{"mountId":"81","mount":"/_api/gharial","name":"gharial","description":"ArangoDB Graph Module","author":"ArangoDB GmbH","system":true,"development":false,"contributors":[{"name":"Michael Hackstein","email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="bad794d2dbd9d1c9cedfd3d4fadbc8dbd4ddd5ded894d9d5d7" rel="noreferrer noopener nofollow">[email protected]</a>"}],"license":"Apache License, Version 2.0","version":"3.0.0","path":"/usr/share/arangodb3/js/apps/system/_api/gharial/APP","config":{},"deps":{},"scripts":{}},{"mountId":"75","mount":"/_admin/aardvark","name":"aardvark","description":"ArangoDB Admin Web Interface","author":"ArangoDB GmbH","system":true,"development":false,"contributors":[{"name":"Heiko Kernbach","email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6c04090507032c0d1e0d020b03080e420f0301" rel="noreferrer noopener nofollow">[email protected]</a>"},{"name":"Michael Hackstein","email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="aac784c2cbc9c1d9decfc3c4eacbd8cbc4cdc5cec884c9c5c7" rel="noreferrer noopener nofollow">[email protected]</a>"},{"name":"Lucas Dohmen","email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1d71687e7c6e5d7c6f7c737a72797f337e7270" rel="noreferrer noopener nofollow">[email protected]</a>"}],"license":"Apache License, Version 2.0","version":"3.0.0","path":"/usr/share/arangodb3/js/apps/system/_admin/aardvark/APP","config":{},"deps":{},"scripts":{}}]

这也有效:

curl  --user foo:bar http://127.0.0.1:8529/_db/_system/_admin/aardvark/foxxes

2.8.9镜像没有这个问题。

关于docker - 无法从 Web 界面访问 ArangoDB 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38080140/

相关文章:

docker - 附加到Docker容器运行过程后如何打印命令行参数?

docker - gitlab kaniko - 没有找到匹配的凭据,依靠匿名

arangodb - 在 AQL 中结合边缘和文档集合

ArangoDB 打开的文件太多

MongoDB:当 mongodb 删除索引时发生了什么

docker - 如何使用 Kubernetes 访问带有自签名证书的私有(private) Docker 注册表?

docker - 以非 super 用户身份在docker ubuntu容器中使用 super 用户运行sshd

arangodb - 我可以让我的应用程序订阅 ArangoDB 集合的更改吗?

amazon-web-services - 关于dynamoDB查询结果的问题

database - 使用cassandra时如何获取项目列表