一、搜索docker的mongo鏡像
docker search mongo
二、拉取mongo最新鏡像
docker pull mongo
三、創建好mongo存儲路徑,便於后面做掛載
mkdir -p /data/mongo
四、運行鏡像
docker run --restart=always --name mongo -v /data/mongo:/data/db -p 27017:27017 -d mongo --auth
返回dockerid說明執行成功
指令說明
--restart=always
表示重啟自動運行
--name
設置容器名稱
-v
掛載目錄 宿主機目錄/容器目錄
-p
端口映射 宿主機/容器
-d
表示后台運行
--auth
表示鏈接需要認證,推薦加上,也可以不加
五、查看運行的容器
docker ps -a
六、創建mongo的用戶及密碼
首先進入容器
docker exec -it mongo bash
進入mongo
mongo
使用admin
use admin
創建一個賬戶密碼.(注意:沒有創建過用戶才可以不需要auth直接創建,否則先登錄db.auth('zhangsan','123456')
)才能創建,也就是只要創建過一次用戶了都需要先auth才能操作,或者也可以把/data/mongo目錄全部清空創建新容器(會丟失數據)
db.createUser({user:"zhangsan",pwd:"123456",roles:[{role:'root',db:'admin'}]})
如果需要退出mongo,執行指令exit
,圖如下
MongoDB基本的角色
1.數據庫用戶角色:read、readWrite;
2.數據庫管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.備份恢復角色:backup、restore;
5.所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超級用戶角色:root 這個角色的權限最大
七、配置mongo的遠程訪問,在mongo容器里修改配置文件
繼續第六步驟不要退出容器,或者再重新進入容器docker exec -it mongo bash
先安裝好vim
apt-get update
apt-get install vim -y
修改mongo配置文件,運行遠程訪問
vim /etc/mongod.conf.orig
將其中的 bindIp: 127.0.0.1 注釋或者改為0.0.0.0,保存:wq並退出
然后exit
退出mongo容器回到宿主機,重啟docker讓配置生效
docker restart mongo
八、測試遠程連接mongodb,下圖用的navicat
1、如果不使用賬號密碼登陸的話會報錯
2、使用正確的賬號密碼
九、測試常用的一些mongo指令
1、進入容器、mongo、授權認證
docker exec -it mongo bash
mongo
use admin
db.auth('zhangsan','123456')
返回1說明登錄成功了
2、創建數據庫,並插入和查詢測試數據
use test
db.test.save({name: 'test', age: '18'})
db.test.find();
navicat中查看
其他指令:
show dbs
查看數據庫
show collections
查看集合