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
