• docker方式安装单节点MongoDB(4.0.9)


    1、新建 mogoDB存放文件夹

    # 配置文件存放路径
    mkdir -p /opt/idhub/mongodb/conf
    # 日志文件存放路径
    mkdir -p /opt/idhub/mongodb/log
    # 数据库存放路径
    mkdir -p /opt/idhub/mongodb/data
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、下载镜像

    docker pull mongo:4.0.9
    
    • 1

    3、先以最简单方式启动镜像

    docker run -d --name mongo mongo:4.0.9
    
    • 1

    4、进入容器,查看配置文件位置:

    配置文件:/etc/mongod.conf.orig

    docker exec -it mongo /bin/bash
    # 进入容器后
    cat /etc/mongod.conf.orig 
    exit;
    
    • 1
    • 2
    • 3
    • 4

    5、复制docker容器中的配置文件 到 主机目录下

    docker cp mongo:/etc/mongod.conf.orig /opt/idhub/mongodb/conf
    # 重命名
    cp ./mongod.conf.orig ./mongod.conf
    
    • 1
    • 2
    • 3

    6、停止并删除mongo容器

    docker stop mongo
    docker rm mongo
    
    • 1
    • 2

    7、修改配置文件mongod.conf

    logappend=true # 日志输出方式,日志append而不是overwrite

    bindIp: 0.0.0.0 # 开放IP

    # 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
      journal:
        enabled: true
    #  engine:
    #  mmapv1:
    #  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:
    
    #operationProfiling:
    
    #replication:
    
    #sharding:
    
    ## Enterprise-Only Options:
    
    #auditLog:
    
    #snmp:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    8、编写mongo 的docker-compose文件mongo-docker-compose.yml

    # ports 列表将主机端口映射到容器
    # 挂载主机目录
    # docker配置文件位置:/data/configdb/mongod.conf
    version: '3'
    services:
    #nginx setting
      nginx:
        container_name: mongo 
        image: mongo:4.0.9
        ports:
          - "27017:27017"
        volumes:
          - /opt/idhub/mongodb/conf/mongod.conf:/data/configdb/mongod.conf
          - /opt/idhub/mongodb/log/mongod.log:/var/log/mongodb/mongod.log
          - /opt/idhub/mongodb/data:/var/lib/mongodb
        network_mode: bridge
        restart: always
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    9、登录,创建用户

    docker exec -it mongo /bin/bash
    mongo
    use admin
    db.createUser({user: "root", pwd: "s21^34ah2pnG3k6GG_aG", roles: [{role: "root", db: "admin"}]})
    db.createUser({user: "idis_user", pwd: "Teleinfo-88", roles: [{role: "dbOwner", db: "idis_lhs"}]})
    exit;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    10、启用认证,修改配置文件mongod.conf,增加下面配置项

    # 启用认证
    security:
      authorization: enabled
    
    • 1
    • 2
    • 3

    重启容器,测试

    登录验证
    mongo
    > use admin
    switched to db admin
    > db.auth('root','s21^34ah2pnG3k6GG_aG')
    1
    > show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    > use local
    switched to db local
    > show collections
    startup_log
    > db.startup_log.find()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    Elasticsearch:ingest pipeline 使用示例 - 解析常用日志格式
    01-从JDK源码级别剖析JVM类加载机制
    VMware虚拟机中libreoffice无法输入中文,如何解决?(操作系统-linux)
    戏曲文化苑|戏曲文化苑小程序|基于微信小程序的戏曲文化苑系统设计与实现(源码+数据库+文档)
    list模拟实现
    C++ 继承下的构造函数和析构函数执行顺序
    Shell编程自动化之特殊变量、特殊状态变量和Shell子串
    测试数据工厂-信贷场景下的实践
    零知识证明在隐私保护和身份验证中的应用
    【编程题】【Scratch四级】2020.09 创意画图
  • 原文地址:https://blog.csdn.net/qq_33867131/article/details/125605466