Docker - 設置 MongoDB
你好,未來的 Docker 和 MongoDB 大師!我很興奮能成為您在容器化和數據庫世界中的引路人。作為一個教了多年計算機科學的人,我可以告訴您,掌握這些技術將為您打開一個全新的可能性領域。那麼,讓我們開始吧!
了解基礎知識
什麼是 Docker?
想像一下你搬到一個新房子。如果你能直接拿起你的整個房間,然後把它放在你的新地方,會怎麼樣?這就是 Docker 對軟件應用程序所做的。它將應用程序運行所需的一切——代碼、運行時、系統工具、庫——打包到一個整齊的小容器中。
什麼是 MongoDB?
現在,想像一個巨大的、柔軟的文件櫥,可以存儲不同形狀和大小的各種信息。這就是 MongoDB 的核心。它是一個數據庫,不像傳統數據庫那樣將你的數據強制放入嚴格的表中。相反,它讓你的數據保持自由形式,就像你在紙上隨意記筆記一樣。
設置 Docker
在我們能夠開始我們的 MongoDB 冒險之前,我們需要確保我們的 Docker 船準備好出發。
安裝 Docker
- 前往 Docker 的官方網站(docker.com)。
- 下載適合您操作系統的版本。
- 跟隨安裝向導——這就像吃派一樣簡單!
驗證 Docker 安裝
一旦安裝完成,讓我們來確保一切正常:
docker --version
如果您看到類似於 Docker version 20.10.14, build a224086
的內容,那麼您就成功了!
拉取 MongoDB 镜像
現在 Docker 引擎運行正常,讓我們來抓取 MongoDB 镜像。
docker pull mongo
這個命令就像去 Docker 超市並從貨架上拿下一個預包裝的 MongoDB 一樣。簡直太容易了!
在容器中運行 MongoDB
基本運行命令
該給我們的 MongoDB 容器注入生命了:
docker run --name some-mongo -d mongo
讓我們來解析一下:
-
docker run
:這告訴 Docker 創建並啟動一個新的容器。 -
--name some-mongo
:我們給容器起了一個友好的名字。 -
-d
:這讓容器在後台運行。 -
mongo
:這是我們用來創建容器的镜像。
高級運行命令
對於喜歡冒險的人來說,這裡有一個帶有一些額外選項的更強大的命令:
docker run --name my-mongo -p 27017:27017 -v /path/on/host:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password -d mongo
哇,這真是個大命令!讓我們來剖析它:
-
-p 27017:27017
:這將容器的端口 27017 映射到主機的端口 27017。 -
-v /path/on/host:/data/db
:這創建一個卷,將主機上的目錄鏈接到容器的數據目錄。 -
-e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password
:這些設置環境變量以創建一個管理員用戶。
連接到 MongoDB
使用 Mongo 質疑
現在 MongoDB 容器已經運行,讓我們打個招呼:
docker exec -it my-mongo mongo
這個命令就像敲敲容器的門,請求進來聊天一樣。-it
标誌使体验变得交互式,就像你在直接在机器上使用 MongoDB 一样。
使用 MongoDB 客戶端
對於那些喜歡圖形界面的人(因為我們都必须承認,有時候我們都需要一些漂亮的按鈕),你可以使用像 Robo 3T 或 MongoDB Compass 這樣的 MongoDB 客戶端。只需連接到 localhost:27017
,你就進入狀態了!
基本 MongoDB 操作
現在我們已經連接上了,讓我們來稍微玩一玩。
創建數據庫
use myAwesomeDB
這就像告訴 MongoDB,“嘿,我想在這個叫做 myAwesomeDB 的新文件櫥中工作。”
插入數據
db.users.insertOne({name: "John Doe", age: 30, email: "[email protected]"})
把這想成是在你的文件櫥中放入一個新文件。我們正在 users
集合中添加一個用戶。
查詢數據
db.users.find({name: "John Doe"})
這就像問 MongoDB,“你能為我找到所有關於 John Doe 的文件嗎?”
管理你的 MongoDB 容器
停止容器
docker stop my-mongo
這就像告訴你的 MongoDB,“休息一下,伙計。我們現在結束了。”
開始容器
docker start my-mongo
當你準備回到工作時,這個命令就像說,“好了,休息結束。讓我們繼續工作!”
移除容器
docker rm my-mongo
如果你決定不再需要這個特定的 MongoDB 設置,這個命令就像是“感謝你的服務,但現在是說再見的時候了。”
MongoDB 方法表
這裡有一些常見的 MongoDB 方法的便捷表格:
方法 | 描述 |
---|---|
insertOne() |
將單個文檔插入集合 |
insertMany() |
將多個文檔插入集合 |
find() |
查詢集合中的文檔 |
updateOne() |
更新集合中的單個文檔 |
updateMany() |
更新集合中的多個文檔 |
deleteOne() |
從集合中刪除單個文檔 |
deleteMany() |
從集合中刪除多個文檔 |
aggregate() |
在集合上執行聚合操作 |
結論
至此,各位!我們已經從拉取镜像到運行基本操作,完成了 MongoDB 和 Docker 的基礎設定。記住,就像學習任何新技能一樣,精通來自於練習。不要害怕嘗試,犯錯誤,並從中學習。
當我們結束時,我想到一個學生曾經告訴我,他開始學習 Docker 和 MongoDB 時感到“在海上迷路”。到我們課程結束時,他說他覺得自己像是自己船的船長。我希望這本指南能幫助您在這些令人興奮的技術中找到自己的航向。
繼續航行,繼續學習,最重要的是,玩得開心!容器化數據庫的世界是您的貝殼。現在去用 Docker 和 MongoDB 展現您的專業技能吧!
Credits: Image by storyset