啟用Mongo
拉取 mongodb 鏡像
docker pull mongo
查看本地拉取的鏡像
docker images
創建文件夾
mkdir mongodb cd ./mongodb mkdir data # 放置數據文件 mkdir backup # 備份文件 mkdir conf # 配置文件
在 conf 目錄下創建 mongodb.conf
# mongodb.conf logappend=true # bind_ip=127.0.0.1 port=27017 fork=true noprealloc=true auth=true
創建內部網絡
docker network create tms
創建容器
// 創建容器 docker run --name mongodb -v /dockerTest/mongodb/data:/data/db -v /dockerTest/mongodb/backup:/data/backup -v /dockerTest/mongodb/conf:/data/configdb -p 27018:27017 --network tms --network-alias mongodb -d mongo --auth // 命令解釋 docker run --name mongodb // 容器命名mongodb -v /dockerTest/mongodb/data:/data/db // 數據庫數據文件掛載到/dockerTest/mongodb/data -v /dockerTest/mongodb/backup:/data/backup // 備份文件掛載到/dockerTest/mongodb/backup -v /dockerTest/mongodb/conf:/data/configdb // 啟動的配置文件目錄掛載到容器的/data/configdb -p 27018:27017 --network tms --network-alias mongodb // 容器的27017端口,映射到主機的27018端口 -d mongo --auth // --auth開啟身份驗證
進入容器
winpty docker exec -it mongodb mongo admin
創建用戶名和密碼
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
測試連接
db.auth('admin', '123456')

