拉取镜像
docker search mongo
docker pull mongo
创建挂载目录
mkdir datadb
启动mongodb
docker run -d --name mongodb -v /root/xxx/mongo/datadb:/data/db -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=mongo@123 --privileged=true mongo
参数解释docker run # 启动容器
-d # 后台运行容器
—name mongodb # 自定义命名
-v /root/xxx/mongo/datadb:/data/db #挂载目录
-p 27017:27017 #端口(宿主机:容器)
-e MONGO_INITDB_ROOT_USERNAME=root # 指定用户名
-e MONGO_INITDB_ROOT_PASSWORD=mongo@123 # 指定密码
—privileged=true # 使得容器内的root拥有真正的root权限。否则,容器内的root只是外部的一个普通用户权限
mongo # 指定启动版本(宿主机没有则立即下载)
docker logs mongodb
测试连接(无数据库)
进入容器
docker exec -it mongodb /bin/bash
mongo

# 进入默认的admin数据库use admin# 验证密码db.auth('root','mongo@123')# 查看数据库show dbs

默认数据库
注意:此处验证用户和密码是由于在创建容器时指定用户和密码验证,如果不进行验证,在后面创建新数据库和用户会出现需要权限验证的提示
创建用户和数据库
# 切换数据库(没有则自动创建)use ibim# 创建用户和指定数据库db.createUser({user:"mongo",pwd:"mongo@123",roles:[{role:"dbOwner",db:"ibim"}]})# 验证用户db.auth('mongo','mongo@123')
测试连接(有数据库)
有数据库的mongo用户
