centos7 使用docker安装了mongo 怎么设置远程链接,必须使用密码才能连接

发布于:2024-03-29 ⋅ 阅读:(29) ⋅ 点赞:(0)

在这里插入图片描述
docker run -d
–name mongodb_container
-e MONGO_INITDB_ROOT_USERNAME=root
-e MONGO_INITDB_ROOT_PASSWORD=root
-e MONGO_INITDB_DATABASE=dataserver
-p 27017:27017 \

无法在mongo容器里编辑文件

如果你无法直接编辑 MongoDB 容器内的配置文件,你可以尝试通过以下方式来修改容器内的 MongoDB 配置文件:

在宿主服务器上编辑配置文件:
从宿主服务器上复制容器内的 MongoDB 配置文件到宿主服务器上,然后在宿主服务器上使用文本编辑器进行修改。

复制配置文件到宿主服务器上的当前目录

docker cp mongo_container:/etc/mongod.conf /services/mongod.conf

然后在宿主服务器上使用你喜欢的文本编辑器(如 vi、nano 等)对 mongod.conf 文件进行修改。

将修改后的配置文件重新复制回容器中:
修改完配置文件后,再将修改后的文件复制回容器内的相应位置。

将修改后的配置文件复制回容器内

docker cp /services/mongod.conf mongo_container:/etc/mongod.conf

重启 MongoDB 服务:
在容器内退出编辑器后,重新启动 MongoDB 服务使修改生效。

新的mongo配置文件

# mongod.conf

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

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb
#  engine:
#  wiredTiger:

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

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0


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

security:
  authorization: enabled
#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

bindIp: 127.0.0.1改为bindIp: 0.0.0.0作用

将 MongoDB 的 bindIp 配置从 127.0.0.1 修改为 0.0.0.0 是为了允许 MongoDB 监听来自任何网络接口的连接,而不仅限于本地回环接口。这样可以使 MongoDB 可以接受来自外部网络的连接,而不仅限于本地访问。

当 bindIp 设置为 0.0.0.0 时,MongoDB 会监听所有可用的网络接口,包括本地回环接口(127.0.0.1)和其他网络接口。这对于需要在不同主机或容器之间进行远程连接的情况非常有用。

但需要注意的是,开放到公共网络的 MongoDB 实例存在安全风险,因为未经身份验证的用户可能会尝试访问数据库。为了加强安全性,建议在生产环境中采取适当的安全措施,如启用身份验证、限制访问权限等。

修改security: authorization: enabled

使得必须通过账号密码登录

本文含有隐藏内容,请 开通VIP 后查看