Docker安装MongoDB(Linux版)


前言

本文章主要介绍在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"

在这里插入图片描述


问题汇总

  1. 外部连接mongo超时、拒绝等网络问题
    答:放通防火墙27017的端口;
    检查HOSTIP(宿主机上就使用本地IP;外部就使用公网IP)
  2. 操作mongo库失败
    答:需要给mongo用户增加对应的库权限。

总结

好的,以上就是mongo安装的步骤,欢迎大家指导留言,大家的指导就是我不断改进的动力。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值