docker安装mongodb及挂载到宿主机

一、安装MongoDB
1、查看当前可用版本

docker search mongo #通过该命令查看可用的MongoDB版本

在这里插入图片描述

2、获取最新的MongoDB镜像

docker pull mongo

在这里插入图片描述

3、查看本地是否已安装了mongo

docker images

在这里插入图片描述

4、安装完成以后,在宿主机上创建需要挂载的文件,并使用以下命令运行mongo容器

创建文件夹:mkdir -p /docker-software/mongodb/{data,logs}   
(注:在准备挂载的目录下创建并修改目录权限)
chmod -R 777 /docker-software/mongodb

5、运行容器

docker run --name mongodb -p 27017:27017 -v /docker-software/mongodb/data:/data/db -v /docker-software/mongodb/log:/data/log -d mongo --auth

参数说明:
mongo mongo镜像名 也可使用镜像id
-d 后台运行容器
-name mongodb 运行容器名
-v /docker-software/mongodb/data:/data/db -v /docker-software/mongodb/log:/data/log 挂载目录
-p 27017:27017:将27017映射到外部端口27017 将容器的27017端口映射到主机的27017端口,27017是和宿主机的通信接口,所有docker内部容器的连接使用27017接口,集群配置需连接容器内部27017端口,故最好保持前后端口一致
–auth 需要验证就加,不需要验证,就去掉。默认mongodb是不使用用户认证

通过以下命令查看是否运行成功

docker ps

在这里插入图片描述

上图为运行成功。

6.查看mongodb日志

docker logs mongodb

7、mongodb随 docker 自启动(可加可不加)

docker update mongodb --restart=always

注意:这里的 mongodb 是容器的名字,不是镜像的名字。

8、设置数据库的用户名和密码

# 创建mongo容器后,进入容器
docker exec -it mongodb /bin/bash

# 进入mongo shell
mongo  6.0版本之前使用
mongosh 6.0版本之后使用

注:如果出现:bash: mongo: command not found

在这里插入图片描述

这是因为MongoDB 6.0全面弃用了mongo而使用mongosh。

mongod --version 查看mongo版本

在这里插入图片描述
在这里插入图片描述

# 进入admin数据库
use admin

# 创建超级权限root角色的用户,或者userAdminAnyDatabase 等角色权限比较大的用户,我创建的是拥有超级权限root角色的用户root
# 用户名:root,密码:root,角色:root,数据库:admin
db.createUser({user:'root',pwd:'mongodb123456',roles:[{role:'root',db:'admin'}]})

6.0之后创建成功返回的成功标识为:{ok:1}

在这里插入图片描述
在这里插入图片描述

# 认证登录db.auth('用户名','密码'),打印1则代表认证通过
db.auth('root','mongodb123456')

在这里插入图片描述

按Ctrl+D或输入exit退出。

9、客户端连接mongodb
在这里插入图片描述

二、创建普通用户、密码和数据库

创建普通用户、密码和数据库

以 admin 用户身份进入mongo :

docker exec -it mongodb mongo admin 

创建 用户、密码和数据库:

db.createUser({ user: 'web', pwd: 'web123456', roles: [ { role: "readWrite", db: "web" } ] });

对 web用户 进行身份认证:

use web; 
db.auth("web","web123456");  

创建成功后可退出 :exit

问题:解决:bash: vim: command not found

docker 容器不识别 vi / vim 、docker 容器中安装 vim
#更新源

apt-get update 

#安装

apt-get install vim 

***最后
     如果使用云服务记得开放端口***

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值