由于在内网,只能通过外网打包镜像然后传入内网加载启动
一、安装部署mongo docker容器
1.在外网下载镜像
docker pull mongo
2.打包镜像
docker save -o mongodb_save.tar 镜像id
3.把镜像包传入内网docker服务器,载入镜像
docker load --input mongdb_save.tar
4.启动mongo容器
这里参考文档里的mongod -f 配置文件一直报错,遂去除
docker run -id --name=mongodb --restart always -v /data/mongodb/data:/data/db -v /data/mongodb/cluster:/data/configdb -p 27017:27017 -e LANG=C.UTF-8 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 镜像id mongod --auth
5.查看mongo镜像日志,确认启动正常
docker ps
docker logs mongo容器id
发现报错了!
WARNING: MongoDB 5.0+ requires a CPU with AVX support
无奈只能删除镜像,重新下载mongo4.4.19版本重新安装(之前去dockerhub上确认过,5.0以下只有4.4.19最新了)
docker rm -f mongo镜像id ,再来一遍
扩展笔记:
DOCKER 离线部署打包
docker save 和 docker export 区别 :
1:docker save保存的镜像必须用docker load来导出 docker export 保存的容器 必须用 docker import导出 两者不能混用,否则容器无法正常启动
2:docker save保存的是镜像(image),docker export保存的是容器(container)
3:docker load --input 用来载入镜像包,docker import用来载入容器包,但两者都会恢复为镜像;
运行命令:
docker save -o xxx_save.tar 镜像ID -> docker load --input xxx_save.tar
docker export -o xxx_export.tar 容器ID-> docker import xxx_export.tar xxx:version
export 方式 导入的镜像运行容器失败时 需要追加容器的command
查看原有镜像启动command: docker ps -a --no-trunc
建议使用save 导出的方式 最原始的镜像 该方式不会载入原有容器 ,启动也不用追加容器的command参数
二、开始初始化mongo数据库并创建mongo账号
1.登陆mongo 容器
docker exec -it mongo容器id /bin/bash
mongo -u admin
输入密码登陆
#查看已有的mongo数据库
show dbs
#创建mongo数据库
use tt
#创建一个表使数据库保存
db.usr.insert({'name':'tompig'});
#确认数据库是否创建成功
show dbs
#创建新建数据库的账号(由于dbOwner权限很大,此处后面的读写可以省略)
db.createUser({ user:'root',pwd:'123456',roles:[ { role:'dbOwner', db: 'tt'},'readWrite']});
#退出admin账号,用刚才创建的账号登陆验证
exit
mongo -u tt
show dbs
#验证无误,创建完成
mongodb用户权限补充说明:
数据库用户角色有:
read
readWrite
数据库管理员角色有:
dbAdmin
dbOwner (包含 dbAdmin,readWrite,userAdmin)
userAdmin
群集管理员角色有:
clusterAdmin (包含 clusterManager,clusterMonitor,hostManager)
clusterManager
clusterMonitor
hostManager
所有的数据库角色有:
readAnyDatabase
readWriterAnyDatabase
userAdminAnyDatabase
dbAdminAnyDatabase
超级用户角色
root(包含 readWriteAnyDatabase,dbAdminAnyDatabase,userAdminAnyDatabase,clusterAdmin)
参考文档:
https://blog.csdn.net/weixin_45493805/article/details/129436670
https://developer.aliyun.com/article/1144125
https://blog.csdn.net/zhaowenzhong/article/details/51898997
https://www.shuzhiduo.com/A/rV57gMeV5P/
https://blog.csdn.net/packge/article/details/126539320