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
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帳號來登陸
![](http://static.javashuo.com/static/loading.gif)