1.版本選取 訪問mongodb的鏡像倉庫地址:https://hub.docker.com/_/mongo?tab=tags&page=1 這裡選取最新版本進行安裝,如果想安裝其他的可用版本,可以使用命令“docker search mongo”來查看 2.拉取最新版本鏡像 這裡執行命令"sudo ...
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沒有任何賬戶密碼,在裸奔,下麵我們執行以下語句,創建一個管理員用戶,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.創建一個業務資料庫和對應的讀寫賬戶
use demo_db; db.createUser({ user: 'dev', pwd: 'Aa123456', roles: [ { role: "readWrite", db: "demo_db" } ] });
然後用這個dev賬號來登錄