docker之安装mongo创建运行环境

目录

一、docker pull 最新资源

二、启动mongo镜像

三、进入mongo容器

四、使用认证方式启动容器

五、总结


一、docker pull 最新资源

docker pull mongo

在这里插入图片描述

二、启动mongo镜像

  • 启动命令注:这里显示启动无异常。但其实并未成功,无法通过 docker exec 进入容器。
docker run -it --name mongo -p 27017:27017 -d mongo

在这里插入图片描述

  • 查看日志注:查看日志发现安装的mongo版本过高 命令: docker logs mongo
docker logs mongo

在这里插入图片描述

  • 拉取低版本镜像注:尝试安装低版本的mongo进行启动。使用mongo:4
    在这里插入图片描述
  • 成功启动注:启动成功。
docker run -it --name mongo4 -p 27017:27017 -d mongo:4

在这里插入图片描述

三、进入mongo容器创建并维护数据

注:测试创建库、用户、文档内容,并进行增删改查操作

  • 进入容器
docker exec -it mongo4 bash

在这里插入图片描述

  • 进入mongo环境
> mongo

在这里插入图片描述

  • 查询当前所在库
> db.getName()

在这里插入图片描述

  • 切换库至admin 可查看当前有哪些库可以用。命令:show dbs;
use admin;

在这里插入图片描述

  • 随意切换库 并 创建用户
> use tonight;
> db.createUser({user:"admin",pwd:"admin",roles:[{role:"readWrite",db:"tonight"}]});

在这里插入图片描述

  • 登录用户
> db.auth({user:"admin",pwd:"admin"})

在这里插入图片描述

  • 新增文档数据等
> db.stars.insert([{name:"moon",direct:"up"},{name:"cloud",direct:"down"}])
> db.stars.remove({_id:new ObjectId("65d4af1823fc7b96f27d1749")})
> db.stars.update({_id:new ObjectId("65d4aeb323fc7b96f27d1747")},{$set:{time:"2024-02-20 22:01:00"}})
> db.stars.find()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、使用认证方式启动容器

注意:使用此方式登录用户时需要先use admin后进行登录才能操作其他数据库。如下

> use admin
> db.auth("账号","密码")
> use <你创建的库>
> db.collection.find()
> ....
  • 启动命令
docker run -itd --name mongo4x2 --restart=on-failure:10 -p 27018:27017 -v /data/db:/data/db -v /var/log:/var/log mongo:4 --auth
  • 需要创建用户才可使用db.users查看用户
    注:进入docker容器
    > mongo
    > use admin
    在这里插入图片描述
  • 创建用户并登录用户
    创建用户 这里创建用户使用的角色要使用 root 以便进入其他库创建用户选择角色使用
test> use admin
switched to db admin
admin> db.createUser({user:"li",pwd:"li",roles:["root"]})
{ ok: 1 }

切换库,创建用户(库名字 to, 创建用户li2)

admin> use to
to> db.createUser({user:"li2",pwd:"li2",roles:["dbOwner"]})
{ ok: 1 }
to> db.auth("li2","li2")
{ ok: 1 }
to> db.momo.insertOne({name:"-"})
{
  acknowledged: true,
  insertedId: ObjectId("65dfd2df0def8e93d53b04db")
}
to> db.momo.find()
[ { _id: ObjectId("65dfd2df0def8e93d53b04db"), name: '-' } ]

五、总结

  • 版本兼容。mongo高版本docker容器的使用会对cpu有要求。若cpu不支持,可使用低版本镜像创建容器
  • 可备份操作。对维护好的容器备份使用可通过这篇文章进行操作 >> docker之程序镜像的制作
  • 启动方式不同。- - auth增强使用安全性。若不添加此参数时创建库和文档以及访问admin中的全局方法都是不受限制的的。
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡斌附体

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值