1. 程式人生 > 實用技巧 >在Docker中安裝MongoDB

在Docker中安裝MongoDB

在Docker中安裝MongoDB

1.版本選取

訪問mongodb的映象倉庫地址:https://hub.docker.com/_/mongo?tab=tags&page=1 這裡選取最新版本進行安裝,如果想安裝其他的可用版本,可以使用命令“docker search mongo”來檢視

2.拉取最新版本映象

這裡執行命令"sudo docker pull mongo:latest" 拉取最新版的mongodb映象檔案 等待映象拉取完成後,通過命令"sudo docker images"檢視下拉取的映象,可以看到,已經成功拉取到了本地

3.開始執行

建立一個資料夾,用作mongodb的資料目錄掛載 執行啟動命令“docker run -p 27017:27017 -v /data/mongo:/data/db --name mongodb -d mongo” 在上面的命令中,幾個命令引數的詳細解釋如下:
-p 對映容器服務的 27017 埠到宿主機的 27017 埠。外部可以直接通過 宿主機 ip:27017 訪問到 mongo 的服務 -v 為設定容器的掛載目錄,這裡是將本機的“/data/mongo”目錄掛載到容器中的/data/db中,作為 mongodb 的儲存目錄 --name 為設定該容器的名稱 -d 設定容器以守護程序方式執行 通過命令“docker ps”檢視容器啟動執行情況 可以看到mongo容器已經成功執行起來了

4.使用客戶端工具Studio 3T連線mongo

studiot 3T下載地址:https://studio3t.com/download/

5.建立mongo使用者

可以看到一個空的mongo資料庫,有一個不太完美的地方在於我們的mongo沒有任何賬戶密碼,在裸奔,下面我們執行以下語句,建立一個管理員使用者, ?
1 2 3 4 5 db.createUser({ user: 'admin', pwd: 'Aa123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }); 

6.指定auth重新執行服務

建立完使用者我們就要重新啟動mongo服務,並且指定auth 刪除已經執行的mongo容器:docker rm -f mongodb 指定驗證啟動mongo容器:docker run -p 27017:27017 -v /data/mongo:/data/db --name mongodb -d mongo --auth 也就是在之前的啟動命令後面加上 --auth:需要密碼才能訪問容器服務 此時強行訪問,可以看到提示,沒有授權 這裡我們在連線的地方指定一下賬戶密碼 再來查詢,已經正確查詢出來之前新增的使用者資訊

7.建立一個業務資料庫和對應的讀寫賬戶

?
1 2 3 4 5 6 use demo_db; db.createUser({ user: 'dev', pwd: 'Aa123456', roles: [ { role: "readWrite", db: "demo_db" } ] });

 

然後用這個dev賬號來登入