繁体   English   中英

如何将 mongoDB Compass 连接到在 azure VM 中运行的 mongoDB 容器?

[英]How to connect mongoDB Compass to mongoDB container which runs in azure VM?

我有在 azure VM 上运行的 mongoDB 容器,我正在尝试将它连接到我的 mongoDB 指南针。 我的虚拟机有公共 IP 地址,端口 27017 在我的虚拟机和我的 mongo 容器中都是打开的。

我有身份验证,所以要连接我的 mongo,我输入 mongo 容器并编写命令“mongo -u username -p password --authenticationDatabase admin”(相关)。

当我尝试连接时,我收到“连接超时”错误消息。

docker container ls

在此处输入图像描述

打开虚拟机上的端口

在此处输入图像描述

我的指南针登录页面

在此处输入图像描述

我通过更改 mongoDB 容器的配置文件解决了这个问题。

第 1 步:确保在 VM 上打开端口 27017:

在此处输入图像描述

步骤2 :,创建一个mongoDB配置文件,命名为mongod.conf,并将bindIp字段更改为您的主机IP(将<主机IP>更改为您的主机IP)。

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /data/db
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,<Host IP>


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

security:
  authorization: enabled

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

第 3 步:将 mogod.conf 文件复制到您的虚拟机中,并将其保存在您想要的任何位置。

第 4 步:运行命令:

 docker run -d -v <FolderPathOnTheVM>/mongod.conf:/etc/mongod.conf -p 27017:27017 mongo -f /etc/mongod.conf

确保将 <FolderPathOnTheVM> 更改为 VM 上 mongod.conf 文件的路径(步骤 3 的路径)。

在 27017 上执行 netstat 并检查它是否在 localhost 或公共 IP 上运行。 如果它在本地主机上运行,则在 mongodb 配置文件中将其更改为您的公共 IP,然后重试。 此外,从您的本地计算机远程登录到 mongodb IP 和端口以检查其是否在本地工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM