• 使用docker搭建mongodb


    使用 Docker CLI 搭建 MongoDB

    1. 运行 MongoDB 容器

    首先,我们使用以下命令来启动一个 MongoDB 容器:

    docker run -itd --name mongodb_comm -v $PWD
    
    /data:/data/db -p 27017:27017 mongo:4.4 --auth
    
    • 1
    • 2
    • 3

    参数解释:

    • -itd: 这三个参数通常一起使用,i 表示交互式模式,t 分配一个伪终端,d 表示后台运行。
    • --name mongodb_comm: 为容器指定一个名字 mongodb_comm,方便后续的操作和管理。
    • -v $PWD/data:/data/db: 将宿主机当前目录下的 data 目录挂载到容器的 /data/db 目录。这样做的目的是将 MongoDB 数据持久化到宿主机上,以便容器重启后数据不会丢失。
    • -p 27017:27017: 将容器内部的 27017 端口映射到宿主机的 27017端口上,使得外部可以通过宿主机的 27017端口访问 MongoDB。
    • mongo:4.4: 使用 MongoDB 的 4.4 版本镜像。
    • --auth: 开启 MongoDB 的身份验证,增加数据库安全性。
    2. 创建用户

    接下来,我们需要创建一个用户,以便能够以验证方式连接到 MongoDB:

    docker exec -it mongodb_comm mongo admin
    
    • 1

    在 MongoDB shell 中执行以下命令创建用户:

    db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},'readWriteAnyDatabase']});
    
    • 1

    这个命令创建了一个名为 root,密码为 123456 的用户,拥有管理所有数据库的权限和在任何数据库中读写的权限。

    3. 连接测试

    为了验证是否成功,可以尝试使用以下命令进行连接测试:

    db.auth('root', '123456')
    
    • 1
    4. 插入和查询数据

    作为测试,我们可以尝试插入一些数据,然后查询:

    db.user.insert({"name":"abc","age":18})
    
    db.user.find()
    
    • 1
    • 2
    • 3

    使用 Docker Compose 搭建 MongoDB

    Docker Compose 文件

    要使用 Docker Compose 搭建 MongoDB,首先需要创建一个 docker-compose.yml 文件,内容如下:

    version: '3.1'
    services:
      mongodb:
        image: mongo:4.4
        ports:
          - "27017:27017"
        volumes:
          - ./data:/data/db
        environment:
          MONGO_INITDB_ROOT_USERNAME: root
          MONGO_INITDB_ROOT_PASSWORD: 123456
        command: --auth
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    配置解释:

    • version: 指定 Docker Compose 文件格式版本。
    • services: 定义要运行的服务,这里是 mongodb
    • image: 使用的 MongoDB 镜像版本。
    • ports: 将容器的 27017 端口映射到宿主机的 27017 端口。
    • volumes: 数据持久化配置,与 CLI 方法相同。
    • environment: 设置环境变量,这里是初始化时的 root 用户名和密码。
    • command: 容器启动时执行的命令,这里开启了认证模式。

    使用 docker-compose up -d 命令启动服务。

  • 相关阅读:
    组合式API_模板引用
    html主页框架,前端首页通用架构,layui主页架构框架,首页框架模板
    STM32串口printf通过DMA打印(含实测代码)
    光格科技将于12月6日上会:拟募资6亿元,姜明武为实控人
    LSH-局部敏感哈希
    竞赛 基于机器学习与大数据的糖尿病预测
    Linux高性能服务器——定时器
    FastDFS-01-单机和集群搭建
    网络安全专家,这5本入门秘籍人手一套
    3.6.3、随机接入-CSMA/CD协议
  • 原文地址:https://blog.csdn.net/LogicLancer/article/details/136713394