Docker - 設置 MongoDB

你好,未來的 Docker 和 MongoDB 大師!我很興奮能成為您在容器化和數據庫世界中的引路人。作為一個教了多年計算機科學的人,我可以告訴您,掌握這些技術將為您打開一個全新的可能性領域。那麼,讓我們開始吧!

Docker - Setting MongoDB

了解基礎知識

什麼是 Docker?

想像一下你搬到一個新房子。如果你能直接拿起你的整個房間,然後把它放在你的新地方,會怎麼樣?這就是 Docker 對軟件應用程序所做的。它將應用程序運行所需的一切——代碼、運行時、系統工具、庫——打包到一個整齊的小容器中。

什麼是 MongoDB?

現在,想像一個巨大的、柔軟的文件櫥,可以存儲不同形狀和大小的各種信息。這就是 MongoDB 的核心。它是一個數據庫,不像傳統數據庫那樣將你的數據強制放入嚴格的表中。相反,它讓你的數據保持自由形式,就像你在紙上隨意記筆記一樣。

設置 Docker

在我們能夠開始我們的 MongoDB 冒險之前,我們需要確保我們的 Docker 船準備好出發。

安裝 Docker

  1. 前往 Docker 的官方網站(docker.com)。
  2. 下載適合您操作系統的版本。
  3. 跟隨安裝向導——這就像吃派一樣簡單!

驗證 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