---已编辑 -- 不再工作 --- 请帮忙 --- 也许最新的 neo4j 镜像中发生了一些变化(请参阅下面我的答案以了解更多详细信息)
我尝试通过此 github 存储库(包含 docker-compose.yml)使用 docker-compose 运行 neo4j
https://github.com/GraphRM/workshop-neo4j-docker
此存储库中包含的 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:
docker-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:[服务名称],container:[容器名称/id]
)
但现在的问题是:
如果 Neo4j docker 镜像中未安装 nano
编辑器,并且我什至无法安装它,因为 apt-get
未安装为出色地。
(这是一个非常小的图像)
Moovere 我不是 Linux 用户,所以我不知道如何修改这个文件。 您能否建议我在没有这些工具的图像上不使用 vim 修改此文件?
我对 Linux 不太熟悉,但我需要运行上面 github 存储库提供的这个 docker-compose.yml
文件。
我的环境
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地址无关吗?
<强>>>>>>已编辑<<<<<
$ 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
最佳答案
将 network_mode: "bridge"
添加到 docker-compose.yml
文件并访问 docker-machine ip 镜像工作正常
docker-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
关于docker - 使用 docker-compose 运行 neo4j - neo4j 无法从本地主机访问 :7474,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48465046/