Docker 安装 Mongo

发布于:2024-04-21 ⋅ 阅读:(167) ⋅ 点赞:(0)

创建宿主机目录

在你的宿主机上创建必要的目录来存储 MongoDB 的数据和配置文件。这样做可以保证即使容器被删除,数据也能得到保留。

mkdir -p /develop/mongo/data
mkdir -p /develop/mongo/config

创建 MongoDB 配置文件

创建一个名为 mongod.conf 的 MongoDB 配置文件,并保存在 /develop/mongo/config 目录中。这个文件可以用来设置 MongoDB 的运行参数,比如绑定的 IP 地址、端口号和安全设置等。

# /develop/mongo/config/mongod.conf
storage:
  dbPath: /data/db
net:
  bindIp: 0.0.0.0
  port: 27017
security:
  authorization: enabled

使用 Docker 运行 MongoDB

拉取社区版镜像:

docker pull mongodb/mongodb-community-server:latest

使用以下命令来启动 MongoDB 容器,映射数据和配置文件到宿主机指定的目录。

docker run --name mongodb \
  -v /develop/mongo/data:/data/db \
  -v /develop/mongo/config/mongod.conf:/etc/mongo/mongod.conf \
  -p 27017:27017 \
  -d mongo \
  --config /etc/mongo/mongod.conf

命令参数解释:

  • --name mongodb:设置 Docker 容器的名称为 mongodb
  • -v /develop/mongo/data:/data/db:将宿主机的 /develop/mongo/data 目录映射到容器的 MongoDB 数据目录 /data/db
  • -v /develop/mongo/config/mongod.conf:/etc/mongo/mongod.conf:将宿主机的配置文件 mongod.conf 映射到容器的 /etc/mongo/mongod.conf
  • -p 27017:27017:将容器的 27017 端口映射到宿主机的 27017 端口,这允许从宿主机访问 MongoDB。
  • -d mongo:以 detached(后台)模式运行 mongo 镜像。
  • --config /etc/mongo/mongod.conf:启动时使用指定的配置文件。

创建超级管理员用户

安装 mongo shell:

sudo yum install -y mongodb-mongosh

进入 MongoDB 容器:

docker exec -it mongodb mongosh

然后,在 MongoDB 的命令行界面中,使用以下命令创建管理员用户:

use admin
db.createUser({
  user: "admin",
  pwd: "your_secure_password",
  roles: [{ role: "root", db: "admin" }]
})

确保将 "your_secure_password" 替换成一个强密码。

配置外部访问和安全性

确保你的 mongod.conf 文件配置了安全选项(如上所述)。此外,为了增强安全性,你可以配置更复杂的认证选项,例如使用 X.509 证书等。

重新启动 MongoDB 容器

修改配置文件或创建用户后,需要重启 MongoDB 容器以应用更改:

docker restart mongodb

开启防火墙端口

防火墙设置:如果你的服务器有防火墙,请确保开放 27017 端口,以便可以远程访问 Mongo。

# 添加端口规则:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent

# 重新加载防火墙规则:
sudo firewall-cmd --reload

# 验证端口是否开启:
sudo firewall-cmd --zone=public --list-ports

连接测试


网站公告

今日签到

点亮在社区的每一天
去签到