Docker部署neo4j
查询镜像版本
docker search neo4j
以上代码运行会报异常:Error response from daemon: Get https://index.docker.io/v1/search?q=neo4j&n=25: read tcp 192.168.xxx.xxx:41734->xx.xxx.xx.xxx:443: read: connection reset by peer
这个提示无法访问:https://index.docker.io/v1/search?q=neo4j&n=25 地址
但是我们通过其它方式可以进行访问如下:
https://hub.docker.com/ 通过这个官网地址也可以查询到
拉取镜像
这里我们直接使用第一个就行
docker pull neo4j
正常拉取还是会报异常:
Using default tag: latest
Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
可以通过修改 Docker 的配置文件 /etc/docker/daemon.json
来更改镜像源,如果该文件不存在,你可以手动创建它。
步骤:
编辑文件:
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud"
]
}
如果文件是新创建的,它会是空的,可以新添加一个配置文件。
如果文件已存在,你可以根据需要修改现有的配置。
保存并退出:
在 vim 中,你可以按 Esc 键,然后输入 :wq 并按 Enter 保存并退出。
重启 Docker 服务:
修改 daemon.json 文件后,你需要重启 Docker 服务以使更改生效。
拉取成功后我们可以直接查看镜像,使用以下命令可以查看镜像。
sudo docker images
这里我就演示一下在portainer中查看。
启动neo4j容器
data——数据存放的文件夹 logs——运行的日志文件夹
conf——数据库配置文件夹(在配置文件neo4j.conf中配置包括开放远程连接、设置默认激活的数据库)
import——为了大批量导入csv来构建数据库,需要导入的节点文件nodes.csv和关系文件rel.csv需要放到这个文件夹下)
docker run -d --name neo4j -d \ //-d表示容器后台运行 --name指定容器名字
-p 7474:7474 -p 7687:7687 \ //映射容器的端口号到宿主机的端口号
-v /home/neo4j/data:/data \ //把容器内的数据目录挂载到宿主机的对应目录下
-v /home/neo4j/logs:/logs \ //挂载日志目录
-v /home/neo4j/conf:/var/lib/neo4j/conf \ //挂载配置目录
-v /home/neo4j/import:/var/lib/neo4j/import \ //挂载数据导入目录
-e NEO4J_AUTH=neo4j/password \ //设定数据库的名字的访问密码
neo4j:latest //指定使用的镜像
运行命令:
sudo docker run --name neo4j -d -p 7474:7474 -p 7687:7687 -v /home/neo4j/data:/data -v /home/neo4j/logs:/logs -v /home/neo4j/conf:/var/lib/neo4j/conf -v /home/neo4j/import:/var/lib/neo4j/import -e NEO4J_AUTH=neo4j/test@123456 neo4j:latest
访问页面
在浏览器中输入:http://192.168.131.133:7474/,ip为启动服务的主机地址。
输入构建容器时配置的用户名和密码即可。
需要注意的是:
社区版本不支持命令create database xxx,只有企业版可以!
社区版本只允许同时打开一个数据库。