docker容器安装mongo

  • 拉取镜像
    docker pull mongodocker

  • 选择一个合适的文件夹, 建立mongo目录并进入
    mkdir mongo && cd mongovim

  • 建立配置文件目录
    mkdir conf缓存

  • 建立并编辑配置文件
    vim conf/mongod.conf
    mongod.config为mongo配置文件, 示例:bash

    storage:
    journal:
      enabled: true
    engine: wiredTiger
    #以下配置仅对 wiredTiger 引擎生效(3.0 以上版本) 
    wiredTiger:
      engineConfig:
      # wiredTiger缓存工做集(working set)数据的内存大小,单位:GB 
      # 此值决定了wiredTiger与mmapv1的内存模型不一样,它能够限制mongod对内存的使用量,而mmapv1则不能(依赖于系统级的mmap)。默认状况下,cacheSizeGB 的值为假定当前节点只部署一个mongod实例,此值的大小为物理内存的一半;若是当前节点部署了多个mongod进程,那么须要合理配置此值。若是mongod部署在虚拟容器中(好比,lxc,cgroups,Docker)等,它将不能使用整个系统的物理内存,则须要适当调整此值。默认值为物理内存的一半。 
        cacheSizeGB: 1.5
    systemLog:
      logAppend: true
    net:
      bindIp: 0.0.0.0
    
    # 是否开启受权
    security:
      authorization: enabled
  • 建立并运行mongo docker容器app

    docker run --name mongo \
       --privileged \
       -p 27017:27017 \
       -v ~/docker-app/mongo/data:/data/db \
       -v ~/docker-app/mongo/conf:/data/configdb \
       -v ~/docker-app/mongo/logs:/data/log/ \
       -d  \
       mongo  \
       -f /data/configdb/mongod.conf

    解释:日志

    --name mongo #容器名
    --privileged #给予权限
    -p 27017:27017 #端口映射
    -v ~/docker-app/mongo/data:/data/db #数据文件夹映射(主机:容器)
    -v ~/docker-app/mongo/conf:/data/configdb #配置文件路径映射
    -v ~/docker-app/mongo/logs:/data/log/ #日志文件夹路径映射
    -d #后台运行
    mongo # 所使用的镜像
    -f /data/configdb/mongod.conf #使用配置文件启动(路径对应的容器路径,非主机路径)code

  • 附一个可直接执行的bash脚本进程

    # 建立一个mongo docker容器
    mkdir -p mongo && cd mongo
    mkdir conf
    touch conf/mongod.conf
    conf_file='conf/mongod.conf'
    cat>$conf_file<<EOF
    storage:
      journal:
        enabled: true
      engine: wiredTiger
      wiredTiger:
      engineConfig:
        cacheSizeGB: 1.5
    systemLog:
      logAppend: true
    net:
      bindIp: 0.0.0.0
    security:
      authorization: enabled
    EOF
    docker pull mongo
    base_dir=$PWD
    docker run --name mongo \
      --privileged \
      -p 27017:27017 \
      -v $base_dir/data:/data/db \
      -v $base_dir/conf:/data/configdb \
      -v $base_dir/logs:/data/log/ \
      -d  \
      mongo  \
      -f /data/configdb/mongod.conf
相关文章
相关标签/搜索