想要運(yùn)行簡單測試一下neo4j,就直接使用docker創(chuàng)建了一個容器,并用cypher-shell本地連接neo4j,創(chuàng)建圖進(jìn)行測試。
1 開啟docker
sudo systemctl start docker
2 拉取鏡像源
sudo docker pull neo4j # 默認(rèn)latest版本
3 查看本地鏡像,檢驗是否拉取成功
sudo docker images
4 創(chuàng)建容器并運(yùn)行
在/home/neo4j目錄下分別創(chuàng)建 data、logs、conf、import 四個目錄文章來源:http://www.zghlxwxcb.cn/news/detail-537991.html
- data,數(shù)據(jù)存放的文件夾
- logs,運(yùn)行的日志文件夾
- conf,數(shù)據(jù)庫配置文件夾
- import,為了大批量導(dǎo)入csv來構(gòu)建數(shù)據(jù)庫,只能導(dǎo)入.csv格式的文件,要放到這個文件夾下
sudo docker run -d --name container_name -p 27474:7474 -p 27687: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 --env NEO4J_AUTH=neo4j/password neo4j
-d --name container_name //-d表示容器后臺運(yùn)行 --name指定容器名字
-p 27474:7474 -p 27687:7687 //映射容器的端口號到宿主機(jī)的端口號;27474 為宿主機(jī)端口
-v /home/neo4j/data:/data //把容器內(nèi)的數(shù)據(jù)目錄掛載到宿主機(jī)的對應(yīng)目錄下
-v /home/neo4j/logs:/logs //掛載日志目錄
-v /home/neo4j/conf:/var/lib/neo4j/conf //掛載配置目錄
-v /home/neo4j/import:/var/lib/neo4j/import //掛載數(shù)據(jù)導(dǎo)入目錄
--env NEO4J_AUTH=neo4j/password //設(shè)定數(shù)據(jù)庫的名字的訪問密碼
neo4j //指定使用的鏡像
5 檢查容器是否構(gòu)建成功
sudo docker ps -a
文章來源地址http://www.zghlxwxcb.cn/news/detail-537991.html
6 進(jìn)入到容器內(nèi)部
sudo docker exec -it 容器id bash
# 例如:sudo docker exec -it ea6ecd2e43ac bash
7 運(yùn)行客戶端cypher-shell
./bin/cypher-shell
8 cypher圖創(chuàng)建,圖查詢
neo4j@neo4j> CREATE (node1:Router {ip:'127.0.0.1'}),(node2:Router {ip:'127.0.0.2'}),(node3:Router {ip:'127.0.0.3'}),(node4:Router {ip:'127.0.0.4'}),(node5:Router {ip:'127.0.0.5'}),(node6:Router {ip:'127.0.0.6'}),(node7:Router {ip:'127.0.0.7'}),(node8:Router {ip:'127.0.0.8'}),(node9:Router {ip:'127.0.0.9'}),(node1)-[:Connect]->(node4),(node2)-[:Connect]->(node5),(node3)-[:Connect]->(node6),(node4)-[:Connect]->(node7),(node4)-[:Connect]->(node8),(node5)-[:Connect]->(node8),(node6)-[:Connect]->(node9);
0 rows
ready to start consuming query after 412 ms, results consumed after another 0 ms
Added 9 nodes, Created 7 relationships, Set 9 properties, Added 9 labels
neo4j@neo4j>
neo4j@neo4j>
neo4j@neo4j> MATCH (r:Router)-[:Connect]->(t:Router)-[:Connect]->(p:Router) WHERE r.ip >= '127.0.0.1' AND r.ip <= '127.0.0.3' RETURN t.ip, p.ip
;
+---------------------------+
| t.ip | p.ip |
+---------------------------+
| "127.0.0.4" | "127.0.0.8" |
| "127.0.0.4" | "127.0.0.7" |
| "127.0.0.5" | "127.0.0.8" |
| "127.0.0.6" | "127.0.0.9" |
+---------------------------+
4 rows
ready to start consuming query after 422 ms, results consumed after another 12 ms
9 退出cypher-shell和容器
:exit # 退出cypher-shell
exit # 退出容器
10 容器停止運(yùn)行
sudo docker stop 容器id
到了這里,關(guān)于Neo4j docker 部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!