泊坞窗Neo4j的容器,只是挂
很简单:泊坞窗Neo4j的容器,只是挂
[email protected]:~/development$ docker -v
Docker version 1.6.2, build 7c8fca2
我跑these instructions开始泊坞窗。
docker run --detach --name neo4j --publish 7474:7474 \
--volume $HOME/neo4j/data:/data neo4j
这里没有什么令人兴奋的;这应该都是正常的。 但是,http://localhost:7474不响应。当我跳进容器时,它似乎响应得很好(参见调试会话)。我错过了什么?
[email protected]:~$ 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
[email protected]:~$ curl http://localhost:7474
^C
[email protected]:~$ time curl http://localhost:7474
^C
real 0m33.353s
user 0m0.008s
sys 0m0.000s
[email protected]:~$ docker exec -it 2d9e0d5d2f7389ed8b7c91d923af4a664471a93f805deb491b20fe14d389a3d2 /bin/bash
[email protected]:/var/lib/neo4j# curl http://localhost:7474
{
"management" : "http://localhost:7474/db/manage/",
"data" : "http://localhost:7474/db/data/"
}[email protected]:/var/lib/neo4j# exit
[email protected]:~$ 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/
代替把请求localhost
的你要使用泊坞窗机VM IP地址,你可以用这个命令确定:
docker-machine inspect default | grep IPAddress
或
curl -i http://$(docker-machine ip default):7474/
默认IP地址是192.168.99.100
我在Linux上,所以码头机器不适用。然而,这里是相当于linux的输出:christian @ christian:〜/ Downloads/neo4j-community-2.3.2/bin $ docker inspect neo4j | grep的ip地址 “ip地址”: “172.17.0.7”, 基督教基督教@:〜/下载/ Neo4j的社区-2.3.2 /斌$时间卷曲172.17.0.7:7474 ^ C 真正\t 0m11.309s 用户\t 0m0.004s sys \t 0m0.000s –
@ChristianBongiorno - Localhost很好。 –
@DonBranson我替换了:http:// localhost http://127.0.0.1和容器的IP地址。它只是挂起。 –
我不能重现这一点。 Docker 1.8.2。 & 1.10.0与您的情况确定:
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/"
}
尝试升级泊坞窗,并检查网络过滤规则进行转发。
有没有官方的,甚至准官方的支持Ubuntu的16.04 https://github.com/docker/docker/issues/20192 我会在这个问题上再坐一会儿。我已经订阅了这个问题,所以如果他们发布真正的支持,我会知道的。 –
我应该检查哪些netfilter规则? Docker应该为我管理所有这些。由于我已经安装了Java,因此无需docker即可运行,并且已被证明是真正的PITA! –
GAH!好吧,我不知道为什么这很重要,但我有一个修复。将回答我自己的问题。我高举你,因为你的回答激发了我的改变 –
好的,基本上我把args中的卷装卸下来,然后运行。最终,我不想要一个不在容器外的装载。感谢@LoadAverage为我提供帮助。它仍然不是'正确的',但对我的目的我不在乎。
[email protected]:~/development$ docker run --detach --name neo4j --publish 7474:7474 neo4j
6c94527816057f8ca1e325c8f9fa7b441b4a5d26682f72d42ad17614d9251170
[email protected]:~/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/"
}
[email protected]:~/development$
welks :)因为我没有neo的经验,不能提出任何合理的建议。 – loadaverage
你在容器里面试过'netstat'吗?似乎只有服务器绑定到本地主机。 – loadaverage
这看起来像我一样的问题:http://stackoverflow.com/questions/35850160/cant-connect-to-a-docker-container-port-where-an-app-is-listening –
什么docker --version报告? –