• docker安装MongoDB数据库,并且进行密码配置


    在这里插入图片描述

    很美的一首小诗==>
    我在外面流浪,回来时
    故乡瘦了一圈——
    墩子叔走了,门前的池水
    干了一半。
    屋后驼背的柳树
    头发散落了一地,
    老房子蹲在坟边,屋顶的白云
    仍在风中奔跑。

    安装配置

    要在Docker中安装MongoDB并启用远程连接,可以按照以下步骤进行:

    1. 创建Docker容器:

      使用以下命令在Docker中创建MongoDB容器:

      docker run -d \
        --name mongodb-container \
        -e MONGO_INITDB_ROOT_USERNAME=root \
        -e MONGO_INITDB_ROOT_PASSWORD=root \
        -e MONGO_INITDB_DATABASE=ChatLogHistory \
        -p 27017:27017 \
        mongo
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

      这将创建一个名为 mongodb-container 的MongoDB容器,设置用户名、密码、数据库,并映射主机端口27017到容器内的MongoDB端口。

    2. 允许远程连接:

      MongoDB默认情况下只允许本地连接。为了允许远程连接,需要编辑MongoDB的配置文件。

      进入MongoDB容器:

      docker exec -it mongodb-container bash
      
      • 1

      在容器内,编辑MongoDB配置文件:

      nano /etc/mongod.conf
      
      • 1

      找到并更改以下行:

      bindIp: 127.0.0.1
      
      • 1

      修改为:

      bindIp: 0.0.0.0
      
      • 1

      保存并退出。

    3. 重启MongoDB容器:

      docker restart mongodb-container
      
      • 1

    现在,你的MongoDB容器应该已经配置为允许远程连接。你可以使用MongoDB客户端或其他工具连接到该数据库,连接字符串将是:

    mongodb://root:root@<你的主机IP>:27017/ChatLogHistory
    
    • 1

    确保替换 <你的主机IP> 为实际运行Docker容器的主机的IP地址。如果你是在本地机器上运行Docker,你可以使用 localhost127.0.0.1

    问题解决

    问题一

    root@287772de5e44:/# nano /etc/mongod.conf
    bash: nano: command not found
    
    • 1
    • 2

    在Docker容器中可能没有安装 nano 文本编辑器。你可以尝试使用其他可用的编辑器,比如 vivim

    vi /etc/mongod.conf
    
    • 1

    或者使用 echo 命令将所需的配置追加到文件中:

    echo "bindIp: 0.0.0.0" >> /etc/mongod.conf
    
    • 1

    上述命令会在 mongod.conf 文件末尾添加 bindIp: 0.0.0.0。之后,你可以继续重启MongoDB容器,使更改生效:

    docker restart mongodb-container
    
    • 1

    如果你更熟悉使用 vivim,可以使用这两个编辑器进行修改。例如:

    vi /etc/mongod.conf
    
    • 1

    然后按 i 进入插入模式,编辑文件,编辑完成后按 Esc 键,输入 :wq 并按回车键保存退出。

    问题二

    客户端连接报错 Cannot connect to MongoDBAuthentication failed.

    如果你无法连接到MongoDB,并且出现 “Authentication failed” 错误,有几个可能的原因需要检查:

    1. 用户名和密码是否正确: 确保你使用的用户名和密码是正确的。检查连接字符串中的用户名和密码,确保没有拼写错误。

    2. 数据库是否正确: 确保连接字符串中指定的数据库与你在MongoDB容器中创建的数据库相匹配。

    3. 远程连接配置是否生效: 你需要确保在MongoDB容器内部修改了 mongod.conf 文件,并且将 bindIp 设置为 0.0.0.0,以允许远程连接。然后,重启MongoDB容器。

    4. 防火墙和网络问题: 确保主机防火墙允许连接MongoDB端口(默认是27017)。如果你是在云服务提供商上运行,确保安全组或防火墙规则允许流量通过。

    5. Docker端口映射是否正确: 如果你使用Docker容器运行MongoDB,并且使用了端口映射(例如 -p 27017:27017),确保你连接的是正确的主机端口。

    6. 重新验证连接字符串: 确保在连接字符串中使用的格式正确,包括用户名、密码、主机和端口。

    如果上述步骤都正确,但问题仍然存在,你可能需要检查MongoDB的日志以获取更多详细信息。在MongoDB容器内,你可以查看 /var/log/mongodb/mongod.log 文件。

  • 相关阅读:
    设计模式原则——接口隔离原则
    氨基NH2/羧酸COOH/马来酰亚胺MAL/叠氮N3/巯基SH/生物素Biotin修饰CdTe/CdS量子点
    [附源码]Python计算机毕业设计SSM京津冀区域产学研项目管理信息系统(程序+LW)
    2023浙江省大学生信息安全竞赛初赛 部分wp
    信息化项目验收的依据、内容和验收测评报告
    基于Web的大学生实验课预约管理系统
    磁盘空间占满导致confluence6.3不可用问题修复流程
    AI 重写人类DNA,开源基因编辑器问世;安卓版Gemini新增多项功能
    墨西哥FBA海运头程货代,墨西哥海运几天到?
    【前端学习】—多种方式实现数组拍平(十一)
  • 原文地址:https://blog.csdn.net/weixin_53742691/article/details/134415648