Linux中docker安装MongoDB V4.4.13

601 阅读2分钟

背景

以前在centos系统中安装MongoDB时,经常是使用直接的压缩包方式安装,随着docker与k8s的普及,容器化部署已经很常见了,于是乎,想尝试一下docker下安装MongoDB,同时安装完后可以重新做一个数据库镜像迁移到其他地方使用,很方便。

具体步骤

1、下载镜像

命令:docker pull mongo:4.4.13

说明:(1)前提条件,在centos中安装docker;

(2)踩坑记录:第一次尝试装了mongo5.x以上的版本,结果老是容器启动不正常,后来换了一个环境,捣鼓了半天,发现是与centos版本有关系。MongoDB是5.0版本之后有了很大的改进,具体原因是5.x以上的版本包含了WiredTiger村粗引擎层面的更新,更新引擎后的读吞吐量据说提升了63%,这是一个很大的飞跃,但是底层存储引擎的优化更新依赖于avx的支持,使用经过高度优化基于AVX的memcpy方式,实现数据从内存映射区域拷贝到另一块应用的缓冲区。由于centos7.x的版本AVX底层貌似不匹配5.x的版本,相应的系统要求也有所变化,所以选择安装4.x的版本

2、启动mongo容器

执行命令: docker run -itd --name mongo --restart=always
-v /mongodb/datadb:/data/db
-p 27017:27017
-e MONGO_INITDB_ROOT_USERNAME=admin
-e MONGO_INITDB_ROOT_PASSWORD=admin
--privileged=true mongo:4.4.13

可以用docker ps看一下容器是否启动正常

3、进入mongo容器

执行命令: docker exec -it mongo /bin/bash mongo 这样就进入mongo数据库执行相关的操作了 如果需要退出,exit就可以了

4、MongoDB的客户端查看工具

这里使用的是Robo 3T 1.3.1,当然还有其他连接工具,使用客户端连接到mongodb,就可以在里面创建数据库、user等操作了

5、配置用户

db.auth('admin','admin')

通过向表admin中添加用户来设置,如添加root用户:

    db.createUser({
      user: 'ad', 
      pwd: '123',  
      roles:[{
        role: 'root',  
        db: 'file' 
      }]
    })

以上就是初次安装MongoDB的过程,希望对阅读到这篇文章的人会有所帮助,不当之处,也恳请留言指正,谢谢!