首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker neo4j容器挂起

Docker neo4j容器挂起
EN

Stack Overflow用户
提问于 2016-03-08 02:00:29
回答 3查看 643关注 0票数 1

非常简单:

代码语言:javascript
复制
christian@christian:~/development$ docker -v
Docker version 1.6.2, build 7c8fca2

我运行these instructions来启动docker。

代码语言:javascript
复制
docker run --detach --name neo4j --publish 7474:7474 \
           --volume $HOME/neo4j/data:/data neo4j

这里没有什么令人兴奋的事情;这一切都应该可以正常工作。但是,http://localhost:7474没有回应。当我跳到容器中时,它似乎可以正常响应(参见调试会话)。我错过了什么?

代码语言:javascript
复制
christian@christian:~$ docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                              NAMES
2d9e0d5d2f73        neo4j:latest        "/docker-entrypoint.   15 minutes ago      Up 15 minutes       7473/tcp, 0.0.0.0:7474->7474/tcp   neo4j               
christian@christian:~$ curl http://localhost:7474
^C
christian@christian:~$ time curl http://localhost:7474
^C

real    0m33.353s
user    0m0.008s
sys 0m0.000s
christian@christian:~$ docker exec -it 2d9e0d5d2f7389ed8b7c91d923af4a664471a93f805deb491b20fe14d389a3d2 /bin/bash
root@2d9e0d5d2f73:/var/lib/neo4j# curl http://localhost:7474
{
  "management" : "http://localhost:7474/db/manage/",
  "data" : "http://localhost:7474/db/data/"
}root@2d9e0d5d2f73:/var/lib/neo4j# exit
christian@christian:~$ docker logs 2d9e0d5d2f7389ed8b7c91d923af4a664471a93f805deb491b20fe14d389a3d2 
Starting Neo4j Server console-mode...
/var/lib/neo4j/data/log was missing, recreating...
2016-03-07 17:37:22.878+0000 INFO  No SSL certificate found, generating a self-signed certificate..
2016-03-07 17:37:25.276+0000 INFO  Successfully started database
2016-03-07 17:37:25.302+0000 INFO  Starting HTTP on port 7474 (4 threads available)
2016-03-07 17:37:25.462+0000 INFO  Enabling HTTPS on port 7473
2016-03-07 17:37:25.531+0000 INFO  Mounting static content at /webadmin
2016-03-07 17:37:25.579+0000 INFO  Mounting static content at /browser
2016-03-07 17:37:26.384+0000 INFO  Remote interface ready and available at http://0.0.0.0:7474/
EN

回答 3

Stack Overflow用户

发布于 2016-03-09 00:48:37

我不能复制这个。Docker 1.8.2。& 1.10.0适用于您的情况:

代码语言:javascript
复制
docker run --detach --name neo4j --publish 7474:7474 neo4j

curl -i 127.0.0.1:7474
HTTP/1.1 200 OK
Date: Tue, 08 Mar 2016 16:45:46 GMT
Content-Type: application/json; charset=UTF-8
Access-Control-Allow-Origin: *
Content-Length: 100
Server: Jetty(9.2.4.v20141103)

{
  "management" : "http://127.0.0.1:7474/db/manage/",
  "data" : "http://127.0.0.1:7474/db/data/"
}

尝试升级Docker,检查netfilter规则进行转发。

票数 1
EN

Stack Overflow用户

发布于 2016-03-08 02:14:22

您需要使用docker-machine VM ip地址,而不是向localhost发出请求,您可以使用以下命令确定该地址:

代码语言:javascript
复制
docker-machine inspect default | grep IPAddress

代码语言:javascript
复制
curl -i http://$(docker-machine ip default):7474/

默认IP地址为192.168.99.100

票数 0
EN

Stack Overflow用户

发布于 2016-03-09 01:59:04

好了,基本上我删除了参数中的卷挂载到docker中,它工作了。归根结底,我无论如何都不想要容器外挂载。感谢@LoadAverage提醒我。这仍然不是“正确的”,但就我的目的而言,我不在乎。

代码语言:javascript
复制
christian@christian:~/development$ docker run --detach --name neo4j --publish 7474:7474 neo4j
6c94527816057f8ca1e325c8f9fa7b441b4a5d26682f72d42ad17614d9251170
christian@christian:~/development$ curl http://127.0.0.1:7474
{
  "management" : "http://127.0.0.1:7474/db/manage/",
  "data" : "http://127.0.0.1:7474/db/data/"
}
christian@christian:~/development$ 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35850680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档