乐趣区

关于mongodb:如何正确地使用-Docker-在云服务器上部署-MongoDB-v6-数据库并连接

本文假如您曾经在云服务器中胜利装置了 Docker 并下载了 mongo 镜像。

1. 创立配置文件

应用 Docker 部署 MongoDB 时,容器默认不会主动生成 mongod.conf 配置文件,须要开发者手动映射云服务器上的配置文件至容器外部,因而,咱们须要先创立一份配置文件,您能够任意抉择该文件的存储目录,这里咱们假如存储门路为 /mongo/mongod.conf

配置文件内容如下:

# 数据库存储门路
dbpath=/var/lib/mongodb

# 日志文件门路
logpath=/var/log/mongodb/mongod.log

# 监听的端口
port=27017

# 容许所有的 IP 地址连贯
bind_ip=0.0.0.0

# 启用日志记录
journal=true

# 启用身份验证
auth=true

🚨 留神 bind_ip 的设定十分重要,它使得咱们可能近程连贯数据库!

2. 创立 MongoDB 容器

应用如下 Docker 命令部署 MongoDB 容器:

docker run --name <your db name> \
  -p <hostport>:27017 \
  -v <config file address>:/etc/mongod.conf \
  -v <dbpath>:/var/lib/mongodb \
  -v <logpath>:/var/log/mongodb/mongod.log \
  -d \
  mongo \
  --auth

请依照您的理论状况替换 <> 内的内容,在这条命令中,从上至下咱们制订了:

  1. 容器名;
  2. 云服务器与容器外部的端口映射;
  3. 配置文件映射;
  4. 数据存储门路映射;
  5. 日志门路映射;
  6. 长久化后盾运行;
  7. 镜像名称;
  8. 须要身份验证;

3. 创立身份信息

您须要应用 docker exec -it <your db name> mongosh 进入 MongoDB 数据库。

🚨 MongoDB v6 版本不再应用 mongod 命令作为客户端,而应用 mongosh

应用上面的命令创立管理员账户:

use admin
db.createUser({user: "<username>", pwd: "<password>", roles: [{role: "root", db: "admin"}]})

应用管理员账户进行身份验证:

mongo -u <admin> -p <password> --authenticationDatabase admin

创立数据库与一般账号:

use <database_name>
db.createUser({user: "<username>", pwd: "<password>", roles: [{role: "readWrite", db: "<database_name>"}]})

4. 对外开放端口

咱们必须凋谢云服务器端口能力反对近程拜访,为此咱们须要先查看目前已凋谢端口(以后为 CentOS):

sudo firewall-cmd --list-all

而后凋谢指标端口,留神,需应用 --zone=docker 参数:

sudo firewall-cmd --zone=docker --add-port=<the port>/tcp --permanent

💡 默认状况下,CentOS 会应用 firewalld 防火墙来治理网络连接。每个连贯 / 接口都被调配到一个特定的区域,例如 publicprivatedocker 等。每个区域都具备一组默认的防火墙规定,用于管制该区域的网络流量。

最初,如果您应用的是阿里云,您须要登录阿里云控制台,手动在「平安组」一项开启指标端口!

5. 应用 Studio 3T 连贯数据库

Studio 3T 是一个收费的 MongoDB GUI,当您下载实现后,您能够通过如下形式拜访咱们的数据库:

点击左上角 connect 图标,点击 New Connection 按钮:

在 URI 中填写 MongoDB URI:mongodb://<username>:<password>@<IP address>:<port>/<database name>

至此,您实现了 MongoDB 的部署,并胜利通过 Studio 3T 进行近程连贯!

6. 总结

在本篇文章中,咱们介绍了如何应用 Docker 部署 v6 版本的 MongoDB 数据库,并应用 Studio 3T 近程连贯。目前,很多记述该内容的文章要么不残缺,要么不反对 MongoDB v6 版本,这使得部署 MongoDB v6 版本变得不那么轻松,心愿我这篇文章可能帮忙各位升高部署的难度。如果您在部署的过程中遇到困难,也欢迎您将艰难和解决方案附加到评论中,以帮忙其他人更不便的操作。

期待您关注我的公众号「前端乱步」,我会在这里定期分享有深度,体系化的科技内容。

退出移动版