码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • docker之安装mongo创建运行环境


    目录

    一、docker pull 最新资源

    二、启动mongo镜像

    • 启动命令
    • 查看日志
    • 拉取低版本镜像
    • 成功启动

    三、进入mongo容器

    • 进入容器
    • 进入mongo环境
    • 查询当前所在库
    • 切换库至admin
    • 随意切换库 并 创建用户
    • 登录用户
    • 新增文档数据等

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

    • 启动命令
    • 需要创建用户才可使用db.users查看用户
    • 创建用户并登录用户

    五、总结

    • 版本兼容
    • 可备份操作
    • 启动方式不同

    一、docker pull 最新资源

    docker pull mongo
    
    • 1

    在这里插入图片描述

    二、启动mongo镜像

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

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

    • 进入容器
    docker exec -it mongo4 bash
    
    • 1

    在这里插入图片描述

    • 进入mongo环境
    > mongo
    
    • 1

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

    • 新增文档数据等
    > 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()
    
    • 1
    • 2
    • 3
    • 4

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

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

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

    > use admin
    > db.auth("账号","密码")
    > use <你创建的库>
    > db.collection.find()
    > ....
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 启动命令
    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
    
    • 1
    • 需要创建用户才可使用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 }
    
    • 1
    • 2
    • 3
    • 4

    切换库,创建用户(库名字 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: '-' } ]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    五、总结

    • 版本兼容。mongo高版本docker容器的使用会对cpu有要求。若cpu不支持,可使用低版本镜像创建容器
    • 可备份操作。对维护好的容器备份使用可通过这篇文章进行操作 >> docker之程序镜像的制作
    • 启动方式不同。- - auth增强使用安全性。若不添加此参数时创建库和文档以及访问admin中的全局方法都是不受限制的的。
  • 相关阅读:
    devc++跑酷小游戏3.5.0
    前端性能优化
    无涯教程-JavaScript - TRANSPOSE函数
    [云原生] K8S 日志收集方案
    秒杀系统 防止超卖 防止同一用户多次下单 提高qps
    PostGIS学习教程七:关于几何图形的练习
    Java面试八股之Redis哨兵机制
    数据结构与算法 -- 动态规划基础
    Solidity 小白教程:14. 抽象合约和接口
    1、认识时间复杂度和简单的排序算法
  • 原文地址:https://blog.csdn.net/u014642921/article/details/136022683
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号