启用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')