• Mongo(5):Docker下安装Mongo4.2(挂载配置文件和数据)


    Docker下安装Mongo4.2(挂载配置文件和数据)

    1、docker pull mongo:version:拉取对应版本的镜像

     $docker pull mongo:4.2

     2、查看是否有Mongo镜像

    $docker images

     3、创建目录和配置文件

    创建目录:
    mkdir -p /root/mongo/data
    mkdir -p /root/mongo/conf
    mkdir -p /root/mongo/log
    创建文件:
    cd /root/mongo/conf
    vim mongodb.conf

    1. #端口
    2. port=27017
    3. #数据库文件存放目录
    4. dbpath=/root/mongo/data
    5. #日志文件存放路径
    6. logpath=/root/mongo/log
    7. #使用追加方式写日志
    8. logappend=true
    9. #以守护线程的方式运行,创建服务器进程
    10. fork=true
    11. #最大同时连接数
    12. maxConns=100
    13. #不启用验证
    14. #noauth=true
    15. #每次写入会记录一条操作日志
    16. journal=true
    17. #存储引擎有mmapv1、wiredTiger、mongorocks
    18. storageEngine=wiredTiger
    19. #访问IP
    20. bind_ip=0.0.0.0
    21. #用户验证
    22. #auth=true

    4、运行mongo容器(外挂载配置文件和数据)

    1. docker run -d \
    2. --name mongodb \
    3. -p 27017:27017 \
    4. -v /root/mongo/data:/data/db \
    5. -v /root/mongo/conf:/data/conf \
    6. -v /root/mongo/log:/data/log \
    7. -e MONGO_INITDB_ROOT_USERNAME=admin \
    8. -e MONGO_INITDB_ROOT_PASSWORD=123456 \
    9. --privileged=true \
    10. --restart always \
    11. mongo:4.2

    参数说明

    -d   #后台运行容器
    –name mongodb   #运行容器名
    -p 27017:27017   #将容器的27017端口映射到主机的27017端口,外部可以直接通过 宿主机                                 ip:27017 访问到 mongo 的服务。
    -v /root/mongo/data:/data/db    #文件挂载目录
    -v /root/mongo/conf:/data/conf  #配置文件路径
    -v /root/mongo/log:/data/log    #日志路径
    -e MONGO_INITDB_ROOT_USERNAME=admin   #指定用户名
    -e MONGO_INITDB_ROOT_PASSWORD=123456  #指定密码
    –privileged=true  #使得容器内的root拥有真正的root权限
    –restart always #跟随docker一起启动,即docker启动时会自动运行容器
    mongo:4.2  #镜像版本

    5、安装成功

    最后我们可以通过 docker ps 命令查看容器的运行信息:

    接着使用以下命令添加用户和设置密码,并且尝试连接。

     mongodb是容器名称

    $docker exec -it mongodb mongo admin

    # 尝试使用上面创建的用户信息进行连接。
    > db.auth('admin', '123456')

     6、客户端工具连接,连接成功。

    10.1.1.196   admin    admin/123456

     

     7、创建新数据库aoe_mongo,创建用户hmf并授权

    use aoe_mongo
    db.createUser({user:'hmf',pwd:'lianshi',roles:['readWrite']})

     8、使用新的用户访问-->正常连接

    9、创建集合,插入和查询数据

    db.autotest.insert(
    {
    "aoeId": "1", "aoeAes": "吴秀梅", "aoeSm4": "Beijing Refining Network Technology Co.Ltd.", "aoeSm4_a": "海淀区", "aoeEmail": "qianxiulan@yahoo.com", "aoePhone": "15652996964", "aoeIdCard": "210302199608124861", "aoeOfficerCard": "武水电字第3632734号", "aoePassport": "BWP018930705", "aoeGeneralIdCard": "0299233902", "aoeCreditCard": "6212262502009182455", "aoePosition": "测试数据"}
    )

     之后可以将连接信息中Auth DB更改为aoe_mongo、User Name更改为hmf、Password更改为lianshi连接数据库。

    10、其他docker命令

    $docker logs mongodb

    #进入docker命令

    $docker exec -it a3c948d560a9 bash

    参考:

    https://blog.csdn.net/fen_fen/article/details/122433951

  • 相关阅读:
    云手机在黑产中的应用
    离散数学 --- 二元关系 --- 关系的性质和关系的闭包
    Verilog generate
    大数据组件-Flume集群环境搭建
    第七章:最新版零基础学习 PYTHON 教程—Python 列表(第六节 -在 Python 中清除列表的不同方法)
    iNFTnews | 互联网巨头「百度」的元宇宙应用场景探索
    Day4.数据可视化拓展图形的绘制
    Go 开发环境安装之Goland和vscode
    iOS 13以下系统,使用iOS QQ 登录 SDK 崩溃问题
    【Java复习】线程安全的 HashMap --- ConcurrentHashMap
  • 原文地址:https://blog.csdn.net/fen_fen/article/details/126359997