文章目录
- 前言
- 一、Docker环境的准备
- 1.安装依赖
- 2.安装Docker
- 二、使用Docker安装MongoDB
- 1.mongo版本选取
- 2.拉取合适的镜像
- 3.宿主机创建MongoDB需要挂载的文件夹
- 4.第一次无认证创建mongo用户
- 5.启动需要认证的mongo容器
- 问题汇总
- 总结
前言
本文章主要介绍在Centos系统,使用Docker安装MongoDB。如果你已经有docker环境,请直接跳转到安装步骤。
一、Docker环境的准备
1.安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.安装Docker
2.1 搜索docker可安装的版本
sudo yum list available | grep docker
2.2 安装最新版本的docker
sudo yum insatll docker
2.3 检查安装成功
sudo docker --version
2.4 启动docker
sudo systemctl start docker
二、使用Docker安装MongoDB
1.mongo版本选取
查看mongo的可用版本
sudo docker search mongo
2.拉取合适的镜像
2.1 直接拉取最新版本的话使用命令sudo docker pull mongo:latest
;本次拉取的是mongo:4.4.8
sudo docker pull mongo:4.4.8
2.2 镜像拉取完成后,使用命令sudo docker images
查看镜像
3.宿主机创建MongoDB需要挂载的文件夹
创建存放mongodb配置信息、数据信息
sudo mkdir -p /matrix/data/mongodb/configdb
sudo mkdir -p /matrix/data/mongodb/db
4.第一次无认证创建mongo用户
背景知识:几个命令参数的详细解释如下
-p 映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务-v 为设置容器的挂载目录,这里是将本机的“/data/mongo”目录挂载到容器中的/data/db中,作为 mongodb 的存储目录--name 为设置该容器的名称-d 设置容器以守护进程方式运行
4.1 创建mongodb容器
docker run --name mongodb -p 27017:27017 \
-v /matrix/data/mongodb/configdb:/data/configdb/ \
-v /matrix/data/mongodb/db/:/data/db/ \
--privileged=true \
-d mongo:4.4.8
4.2 进入容器
docker exec -it mongodb bash
4.3 连接mongo
mongo --host 127.0.0.1 --port 27017
4.4 创建用户
use admin;
db.createUser({ user: "root", pwd: "12345678", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
退出 exit
,退出容器,回到宿主机
4.5 停止并删除刚刚启动的mongodb容器
docker stop mongodb
docker rm mongodb
5.启动需要认证的mongo容器
5.1 创建mongodb容器
docker run --name mongodb -p 27017:27017 --restart=always \
-v /matrix/data/mongodb/configdb:/data/configdb/ \
-v /matrix/data/mongodb/db/:/data/db/ \
--privileged=true \
-d mongo:4.4.8 --auth
5.2 进入mongodb的容器,验证mongo安装成功
mongo -u root -p 12345678 --authenticationDatabase "admin"
问题汇总
- 外部连接mongo超时、拒绝等网络问题
答:放通防火墙27017的端口;
检查HOSTIP(宿主机上就使用本地IP;外部就使用公网IP) - 操作mongo库失败
答:需要给mongo用户增加对应的库权限。
总结
好的,以上就是mongo安装的步骤,欢迎大家指导留言,大家的指导就是我不断改进的动力。