Linux Docker 安装 MongoDB

5 篇文章 0 订阅
1 篇文章 0 订阅
  1. 拉取镜像
docker pull mongo:latest
  1. 查看拉取下来的 MongoDB 镜像
docker images
  1. 运行 MongoDB 镜像
docker run -d --name mongodb -p 27017:27017 \
-v /home/docker/mongodb:/data/db \
--restart always \
mongo:latest \
--auth
# 注:
# `-d` 后台启动
# `-p` 端口映射:把docker的端口映射到主机上
# `--name` 给容器取一个名字
# `-v` 数据卷映射:把容器中的目录和主机上的目录同步,可以更方便对容器进行操作配置,也能将容器中的数据持久化到主机上
# `--restart always` 设置容器自启动
# `--auth` 需要密码才能访问容器服务
# `mongo:latest` 是镜像中的[镜像名称:ID],而后面跟的是属于对mongo本身的配置,所以需要先指定容器ID,然后再跟上启动时的配置项
  1. 进入mongodb容器设置用户名密码
# 1.首先进入mongodb容器
docker exec -it mongodb /bin/bash
# 2.切换到 mongo shell
mongo
# 3.进入 admin 的数据库
use amdin
# 3.1.可以使用db.help()查看db相关命令
db.help()
# 3.2.也可以在一开始进入容器时就进入到mongo shell下
docker exec -it mongodb mongo admin
# 4.创建用户
# 4.1.创建管理员用户,不可以对数据库进行增删改查
db.createUser({user: "admin",pwd: "admin",roles: [ { role: "userAdminAnyDatabase", db: "admin"}]})
# 4.2.创建超级管理员用户,admin数据库下的最高权限
db.createUser({user: "root",pwd: "root",roles: [ { role: "root", db: "admin"}]})
# 5.验证创建好的用户名密码,登录
db.auth('admin','admin')
# 6.查看所有数据库
show dbs
# 7.退出登录
db.logout()
# 8.退出 mongo shell
exit

Built-In Roles(内置角色):

  • 数据库用户角色:read、readWrite;
  • 数据库管理角色:dbAdmin、dbOwner、userAdmin;
  • 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
  • 备份恢复角色:backup、restore;
  • 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
  • 超级用户角色:root
  • 内部角色:__system
  • 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

具体角色:

  • Read:允许用户读取指定数据库
  • readWrite:允许用户读写指定数据库
  • dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
  • userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
  • clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
  • readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
  • readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
  • userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
  • dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
  • root:只在admin数据库中可用。超级账号,超级权限。
  1. 开启远程连接(只要将服务器防火墙的27017端口开放不修改下方配置也能进行远程访问
# 不要在mongo shell里面操作,退出mongo shell到容器中修改配置文件
# 开启远程访问,修改 /etc/mongod.conf.orig 文件,先安装 vim 编辑器
# 1.更新源
apt-get update
# 2.安装 vim
apt-get install vim
# 3.修改 mongo 配置文件
vim /etc/mongod.conf.orig
# 4.修改bindIP为0.0.0.0
bindIp: 0.0.0.0

服务器的防火墙中要将27017端口开放

  1. 以上配置好就可以远程访问MongoDB了

  2. 如果启动容器时没有设置自启动,也可以对已运行的容器设置自启动

docker update mongodb --restart=always
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值