• Docker 安装 Mongo


    创建宿主机目录

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

    mkdir -p /develop/mongo/data
    mkdir -p /develop/mongo/config
    
    • 1
    • 2

    创建 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    使用 Docker 运行 MongoDB

    拉取社区版镜像:

    docker pull mongodb/mongodb-community-server:latest
    
    • 1

    使用以下命令来启动 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    命令参数解释:

    • --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
    
    • 1

    进入 MongoDB 容器:

    docker exec -it mongodb mongosh
    
    • 1

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

    use admin
    db.createUser({
      user: "admin",
      pwd: "your_secure_password",
      roles: [{ role: "root", db: "admin" }]
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

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

    配置外部访问和安全性

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

    重新启动 MongoDB 容器

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

    docker restart mongodb
    
    • 1

    开启防火墙端口

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

    # 添加端口规则:
    sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
    
    # 重新加载防火墙规则:
    sudo firewall-cmd --reload
    
    # 验证端口是否开启:
    sudo firewall-cmd --zone=public --list-ports
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    连接测试

  • 相关阅读:
    LeetCode - 102. 二叉树的层序遍历;110. 平衡二叉树;098. 验证二叉搜索树
    JSP合同信息管理系统
    Linux下等待队列、定时器、中断综合应用——按键控制LED
    Windows开启linux子系统并迁移到非系统盘
    vue2-移动端创建
    【学习】TensorFlow2环境配置
    SMT贴片制造:专业、现代、智能的未来之选
    基于微信小程序的图书馆选座系统源码
    基于新版本Gradle上传jitpack开源项目
    汽车零部件企业信邦控股之项目管理实践案例
  • 原文地址:https://blog.csdn.net/ly1347889755/article/details/138044389