docker安装MongoDB数据库,并且举行暗码配置

诗林  金牌会员 | 2024-7-20 13:59:57 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 720|帖子 720|积分 2160


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

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

  • 创建Docker容器:
    使用以下命令在Docker中创建MongoDB容器:
    1. docker run -d \
    2.   --name mongodb-container \
    3.   -e MONGO_INITDB_ROOT_USERNAME=root \
    4.   -e MONGO_INITDB_ROOT_PASSWORD=root \
    5.   -e MONGO_INITDB_DATABASE=ChatLogHistory \
    6.   -p 27017:27017 \
    7.   mongo
    复制代码
    这将创建一个名为 mongodb-container 的MongoDB容器,设置用户名、暗码、数据库,并映射主机端口27017到容器内的MongoDB端口。
  • 答应远程连接:
    MongoDB默认环境下只答应当地连接。为了答应远程连接,需要编辑MongoDB的配置文件。
    进入MongoDB容器:
    1. docker exec -it mongodb-container bash
    复制代码
    在容器内,编辑MongoDB配置文件:
    1. nano /etc/mongod.conf
    复制代码
    找到并更改以下行:
    1. bindIp: 127.0.0.1
    复制代码
    修改为:
    1. bindIp: 0.0.0.0
    复制代码
    保存并退出。
  • 重启MongoDB容器:
    1. docker restart mongodb-container
    复制代码
现在,你的MongoDB容器应该已经配置为答应远程连接。你可以使用MongoDB客户端或其他工具连接到该数据库,连接字符串将是:
  1. mongodb://root:root@<你的主机IP>:27017/ChatLogHistory
复制代码
确保替换 <你的主机IP> 为实际运行Docker容器的主机的IP地址。如果你是在当地机器上运行Docker,你可以使用 localhost 或 127.0.0.1。
问题解决

问题一

  1. root@287772de5e44:/# nano /etc/mongod.conf
  2. bash: nano: command not found
复制代码
在Docker容器中可能没有安装 nano 文本编辑器。你可以实行使用其他可用的编辑器,比如 vi 或 vim。
  1. vi /etc/mongod.conf
复制代码
大概使用 echo 命令将所需的配置追加到文件中:
  1. echo "bindIp: 0.0.0.0
  2. " >> /etc/mongod.conf
复制代码
上述命令会在 mongod.conf 文件末尾添加 bindIp: 0.0.0.0
。之后,你可以继续重启MongoDB容器,使更改收效:
  1. docker restart mongodb-container
复制代码
如果你更熟悉使用 vi 或 vim,可以使用这两个编辑器举行修改。例如:
  1. vi /etc/mongod.conf
复制代码
然后按 i 进入插入模式,编辑文件,编辑完成后按 Esc 键,输入 :wq 并按回车键保存退出。
问题二

客户端连接报错 Cannot connect to MongoDBAuthentication failed.
如果你无法连接到MongoDB,并且出现 “Authentication failed” 错误,有几个可能的缘故原由需要检查:

  • 用户名和暗码是否正确: 确保你使用的用户名和暗码是正确的。检查连接字符串中的用户名和暗码,确保没有拼写错误。
  • 数据库是否正确: 确保连接字符串中指定的数据库与你在MongoDB容器中创建的数据库相匹配。
  • 远程连接配置是否收效: 你需要确保在MongoDB容器内部修改了 mongod.conf 文件,并且将 bindIp 设置为 0.0.0.0,以答应远程连接。然后,重启MongoDB容器。
  • 防火墙和网络问题: 确保主机防火墙答应连接MongoDB端口(默认是27017)。如果你是在云服务提供商上运行,确保安全组或防火墙规则答应流量通过。
  • Docker端口映射是否正确: 如果你使用Docker容器运行MongoDB,并且使用了端口映射(例如 -p 27017:27017),确保你连接的是正确的主机端口。
  • 重新验证连接字符串: 确保在连接字符串中使用的格式正确,包括用户名、暗码、主机和端口。
如果上述步骤都正确,但问题仍然存在,你可能需要检查MongoDB的日志以获取更多详细信息。在MongoDB容器内,你可以查看 /var/log/mongodb/mongod.log 文件。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

诗林

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表