背景
以前在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的过程,希望对阅读到这篇文章的人会有所帮助,不当之处,也恳请留言指正,谢谢!