使用docker-compose运行neo4j - neo4j无法从localhost访问:7474

时间:2018-01-26 16:04:20

标签: docker neo4j docker-compose dockerfile

---已编辑 - 没有更长时间的工作---请帮助--- 也许在最新的neo4j图像中有所改变(SE MY ANSWER以下更多细节)

我试图通过这个github repo(包含docker-compose.yml)运行带有docker-compose的neo4j

https://github.com/GraphRM/workshop-neo4j-docker

在这个repo中讨论的docker-compose文件只不过是一个普通的neo4j docker图像,其中已经附加了一些数据(你可以尝试自己,图像真的很小)

运行此文件docker-compose up -d(来自docker-compose.yml文件所在的文件夹)似乎一切顺利(未显示错误,控制台输出为Starting workshopneo4jdocker_neo4j_1 ... done) 但是在浏览器中没有显示以下地址:

localhost:7474
0.0.0.0:7474
127.0.0.1:7474
<dockermachine ip>:7474    got this address with `docker-machine ip`

我想这是一个网络问题(错误的IP地址或相关的东西)所以我注意到在docker-compose.yml文件中缺少元素network_mode:

搬运工-compose.yml

version: '3'

services:
  neo4j:
    image: neo4j:latest
    ports:
      - "7474:7474"
      - "7687:7687"
    environment:
      - NEO4J_dbms_security_procedures_unrestricted=apoc.*
      - NEO4J_apoc_import_file_enabled=true
      - NEO4J_dbms_shell_enabled=true
    volumes:
      - ./plugins:/plugins
      - ./data:/data
      - ./import:/import

我想修改此文件,添加network_mode: "bridge"或使用其他值进行测试(host,none,service:[service name],container:[container name/id]

但现在的问题是:

如果neo4j docker镜像中没有安装nano编辑器,如何修改此文件,我甚至无法安装它,因为还没有安装apt-get。 (这是一个非常非常小的图像)

Morovere我不是linux用户,所以我不知道如何修改这个文件。 您可以建议我在没有使用vim 的情况下在没有这些工具的图像上修改此文件的方法吗?

我不熟悉linux,但我需要运行上面github repo提供的docker-compose.yml文件。

MY ENVIROMENT

Docker Toobox for windows
`docker version`
Client:
 Version:       18.01.0-ce
 API version:   1.35
 Go version:    go1.9.2
 Git commit:    03596f51b1
 Built: Thu Jan 11 22:29:41 2018
 OS/Arch:       windows/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.01.0-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.2
  Git commit:   03596f5
  Built:        Wed Jan 10 20:13:12 2018
  OS/Arch:      linux/amd64
  Experimental: false

PS:您认为问题与IP地址无关吗?

&GT;&GT;&GT;&GT;&GT; EDITED&LT;&LT;&LT;&LT;&LT;

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                      NAMES
38e06d1020d8        neo4j:latest        "/docker-entrypoint.…"   30 hours ago        Up 29 minutes       0.0.0.0:7474->7474/tcp, 7473/tcp, 0.0.0.0:7687->7687/tcp   workshopneo4jdocker_neo4j_1

1 个答案:

答案 0 :(得分:2)

network_mode: "bridge"添加到docker-compose.yml文件并访问docker-machine ip,图像正常工作

<强>搬运工-compose.yml

version: '3'

services:
  neo4j:
    image: neo4j:latest
    network_mode: "bridge"
    ports:
      - "7474:7474"
      - "7687:7687"
    environment:
      - NEO4J_dbms_security_procedures_unrestricted=apoc.*
      - NEO4J_apoc_import_file_enabled=true
      - NEO4J_dbms_shell_enabled=true
    volumes:
      - ./plugins:/plugins
      - ./data:/data
      - ./import:/import