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
相關文章
相關標籤/搜索