docker Neo4j
Day 1 :Docker Desktop 基础熟悉
运行官方 hello-world 测试:
docker -run hello-world
运行 Nginx 体验容器暴露端口:
docker run -d -p 8080:80 nginx
-d --detach 以 分离模式 运行容器
-p --publish 设置 宿主机与容器的端口映射。-p <宿主机端口>:<容器端口>
访问
http://localhost:8080
完成任务 1.3:
-
docker pull nginx
(已隐式完成) -
docker images
(查看当前镜像列表) -
docker ps -a
(查看所有容器) -
docker stop 容器ID
(停止 nginx 容器) -
docker rm 容器ID
(删除 nginx 容器) -
docker rmi 镜像ID
(删除 nginx 镜像,如需清理环境再重新拉取练习)
Day 2 :Dockerfile 与 Compose
唯一难点:前期阿里云加速器没有配置好导致长时间解决问题
二者区别:
1.dockerfile 定义如何构建一个单一的 Docker 镜像,指定基础镜像、添加文件、安装依赖、配置环境变量、设置启动命令等,专注于如何创建一个包含特定应用及其运行环境的、不可变的单个镜像。
docker build -t <image-name>
dockercompose定义和运行由多个容器组成的应用程序,声明服务(容器)、服务间依赖关系、网络配置、卷挂载、环境变量、端口映射,专注于如何定义、配置和运行一个由多个容器(服务)、网络、存储卷组成的完整应用程序。
docker compose up
Day 3:Neo4j 介绍与 Docker 部署
个人对neo4j的理解:专门存储和查询这种“谁是谁”、“谁干了什么”、“谁和谁有关系”的数据,处理复杂,深度的关系。
节点->实体,关系,标签,属性(键值对)
下载社区版,启动neo4j,访问
CREATE (:Person {name: "Alice", age: 30})
CREATE (:Person {name: "Bob", occupation: "Engineer"})
MATCH (a:Person {name: "Alice"}), (b:Person {name: "Bob"})
CREATE (a)-[:KNOWS {since: "2023-01-01"}]->(b)
MATCH (p:Person)-[r:KNOWS]->(friend)
RETURN p.name, friend.name, r.since
更新数据
MATCH (p:Person {name: "Alice"})
SET p.age = 31
删除数据
MATCH (p:Person {name: "Bob"})
DETACH DELETE p // 同时删除关联关系