zoukankan      html  css  js  c++  java
  • Linux平台安装MongoDB及使用Docker安装MongoDB

    一、Linux平台安装MongoDB

    MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包。

    下载地址:https://www.mongodb.com/download-center#community

    1.下载安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。

    curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下载
    tar -zxvf mongodb-linux-x86_64-3.0.6.tgz                                   # 解压
    
    mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb                         # 将解压包拷贝到指定目录
    

    2、创建mongodb安装文件夹、数据文件夹和日志文件(mongodb、data、logs);

    # cd /

    # mkdir /usr/local/mongodb

    # mkdir /usr/local/mongodb/data

    # touch /usr/local/mongodb/logs

    3、将mongodb移动到/usr/local/mongdb文件夹下并重命名为mongodb2.0.4

    # mv mongodb-linux-x86_64-2.0.4 /usr/local/mongodb mongodb2.0.4

    ​4、设置开机自启动,将mongodb启动项目追加入rc.local保证mongodb在服务器开机时启动;

    # echo "/usr/local/mongodb/mongodb2.0.4/bin/mongod 

     --dbpath=/usr/local/mongodb/data 

    --logpath=/usr/local/mongodb/logs 

     --logappend  --auth --port=27017" >> /etc/rc.local

    5、启动mongodb,cd到mongodb2.0.4目录下的bin文件夹启动Mongodb

    # ./mongod --dbpath=/usr/local/mongodb/data 

    --logpath=/usr/local/mongodb/logs 

    --logappend --port=27017 --fork

    如下图:

    参数解释: 

    --dbpath 数据库路径(数据文件)

    --logpath 日志文件路径

    --logappend 日志文件末尾添加

    --port 启用端口号

    --fork 在后台运行

    注:若启动报异常error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory,执行以下命令:

    for 32bit

    [root@localhost bin]# ln -sf /usr/lib/libssl.so.10 /usr/lib/libssl.so.6

    [root@localhost bin]# ln -sf /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so.6

    for 64bit

    [root@localhost bin]# ln -sf /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6

    [root@localhost bin]# ln -sf /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6

    6、进入数据库的CLI管理界面,cd到mongodb目录下的bin文件夹,执行命令./mongo

    运行如下:

    [root@localhost ~]# cd /usr/local

    [root@localhost local]# cd mongodb/mongodb2.0.4/bin

    [root@localhost bin]# ./mongo

    MongoDB shell version: 2.0.4

    connecting to: test

    > use test

    switched to db test

    如下图:

    二、使用Docker安装MongoDB

    查找Docker Hub上的mongo镜像

    runoob@runoob:~/mongo$ docker search mongo
    NAME                              DESCRIPTION                      STARS     OFFICIAL   AUTOMATED
    mongo                             MongoDB document databases ...   1989      [OK]       
    mongo-express                     Web-based MongoDB admin int...   22        [OK]       
    mvertes/alpine-mongo              light MongoDB container          19                   [OK]
    mongooseim/mongooseim-docker      MongooseIM server the lates...   9                    [OK]
    torusware/speedus-mongo           Always updated official Mon...   9                    [OK]
    jacksoncage/mongo                 Instant MongoDB sharded cluster  6                    [OK]
    mongoclient/mongoclient           Official docker image for M...   4                    [OK]
    jadsonlourenco/mongo-rocks        Percona Mongodb with Rocksd...   4                    [OK]
    asteris/apache-php-mongo          Apache2.4 + PHP + Mongo + m...   2                    [OK]
    19hz/mongo-container              Mongodb replicaset for coreos    1                    [OK]
    nitra/mongo                       Mongo3 centos7                   1                    [OK]
    ackee/mongo                       MongoDB with fixed Bluemix p...  1                    [OK]
    kobotoolbox/mongo                 https://github.com/kobotoolb...  1                    [OK]
    valtlfelipe/mongo                 Docker Image based on the la...  1                    [OK]

    这里我们拉取官方的镜像,标签为3.2

    runoob@runoob:~/mongo$ docker pull mongo:3.2

    等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为mongo,标签为3.2的镜像

    使用mongo镜像

    运行容器

    runoob@runoob:~/mongo$ docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo:3.2
    cda8830cad5fe35e9c4aed037bbd5434b69b19bf2075c8626911e6ebb08cad51
    runoob@runoob:~/mongo$

    命令说明:

    -p 27017:27017 :将容器的27017 端口映射到主机的27017 端口

    -v $PWD/db:/data/db :将主机中当前目录下的db挂载到容器的/data/db,作为mongo数据存储目录

    查看容器启动情况

    runoob@runoob:~/mongo$ docker ps 
    CONTAINER ID   IMAGE        COMMAND                   ...    PORTS                      NAMES
    cda8830cad5f   mongo:3.2    "/entrypoint.sh mongo"    ...    0.0.0.0:27017->27017/tcp   suspicious_goodall

    使用mongo镜像执行mongo 命令连接到刚启动的容器,主机IP为172.17.0.1

    runoob@runoob:~/mongo$ docker run -it mongo:3.2 mongo --host 172.17.0.1
    MongoDB shell version: 3.2.7
    connecting to: 172.17.0.1:27017/test
    Welcome to the MongoDB shell.
    For interactive help, type "help".
    For more comprehensive documentation, see
      http://docs.mongodb.org/
    Questions? Try the support group
      http://groups.google.com/group/mongodb-user
    >
  • 相关阅读:
    记一道乘法&加法线段树(模版题)
    2021CCPC网络赛(重赛)题解
    Codeforces Round #747 (Div. 2)题解
    F. Mattress Run 题解
    Codeforces Round #744 (Div. 3) G题题解
    AtCoder Beginner Contest 220部分题(G,H)题解
    Educational Codeforces Round 114 (Rated for Div. 2)题解
    Codeforces Global Round 16题解
    Educational Codeforces Round 113 (Rated for Div. 2)题解
    AtCoder Beginner Contest 182 F
  • 原文地址:https://www.cnblogs.com/xuwendong/p/9003635.html
Copyright © 2011-2022 走看看