查看最新的Neo4j镜像版本 此时最新为4.0
docker pull neo4j:4.0
拉取镜像4.0
报错Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io on 10.0.2.3:53: read udp 10.0.2.15:51774->10.0.2.3:53: i/o timeout
可能DNS解析有点问题,看了一下全都是美国弗吉尼亚的Amazon数据中心,应该是访问不到
去找阿里云镜像,然后被满页的广告蒙蔽了双眼,一个多小时之后,我买了一台云服务器 :D
我是谁?我在哪?我刚才不是在学Docker吗?后来,我就开始搭服务器了。。。
一天之后,我回来了。继续学这个
云服务器
在云服务器中 docker pull neo4j
默认拉取 lasted 版本,这时速度依然很慢
添加阿里云地址 速度起飞….
docker run -it -d -p 7474:7474 -p 7687:7687 neo4j:4.0
7474端口用于管理界面,7687端口用于登录连接neo4j服务端 。采用后台运行方式启动,返回一个containerid
然而在云服务器还要进行安全组端口配置
这里试了几次都有点问题,不太明白是哪里出了问题,难度是没装java?或者是防火墙没关?
先装sdkman来管理java,先装个java8 不得不说挺方便的,不用自己去改环境变量了 java -version
查看的版本为1.8
折腾了一会放弃了,还是在电脑上运行把。
Windows
同样添加一下toolbox镜像加速
1 | docker-machine ssh default |
这里使用的是我自己阿里云控制台里的镜像加速地址
重启之后提示 docker info
无法查看信息,提示 You may need to re-run the docker-machine env
command.
docker-machine env default
根据查询结果 输入 eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env default)
再次 docker info
查看信息成功,重新拉取neo4j, 很快的样子
二十分钟过后….好吧,并不快….
运行docker run -d -p 7474:7474 -p 7687:7687 neo4j
在浏览器依然没有显示??
怎么回事,之前用neo4j的bin文件运行是没有问题的,难道是docker的原因?
这时我想到了,docker实际上是一个虚拟机,那么在浏览器用localhost的访问当然是不行的,所以找到docker的IP 为 192.168.99.100
再访问 http://192.168.99.100:7474/browser/ 就有界面了
云服务器
这时我又回到云服务器,试图找出存在的问题
用docker ps -a
命令
我发现在本机运行时
1 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
状态为UP , 端口也映射成功
但是云服务器上的却是 Exited (1)
1 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
也就是说,neo4j并没有正常的运行起来
去掉后台运行参数-d 后重新运行,报错 /var/lib/neo4j/bin/neo4j: line 238: /var/lib/neo4j/conf/neo4j.conf: Permission denied
出现了访问限制。
然而我并没有找到这个/var/lib/neo4j 这个目录,应该是要修改镜像文件吧。然而docker一般都是部署的已经写好的代码,所以用在云服务器上用docker运行neo4j的话,其实还要对源码进行相应的修改,构建自己的镜像,这个以后真正要部署的时候再说吧,也就是上传源码的事
话说回来,我一定非要在docker中运行neo4j吗…
linux
又开始折腾了,这次是在linux系统上装了Docker 和Neo4J
sudo docker run --publish=7474:7474 --publish=7687:7687 neo4j
成功运行起来了, 使用默认账户密码neo4j/neo4j 登陆