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 // 同時刪除關聯關系