前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Docker中安装MongoDB

在Docker中安装MongoDB

原创
作者头像
Peyshine
修改2020-05-20 09:50:01
6.4K0
修改2020-05-20 09:50:01
举报
文章被收录于专栏:.net core.net core

1.版本选取

访问mongodb的镜像仓库地址:https://hub.docker.com/_/mongo?tab=tags&page=1

这里选取最新版本进行安装,如果想安装其他的可用版本,可以使用命令“docker search mongo”来查看

2.拉取最新版本镜像

这里执行命令"sudo docker pull mongo:latest" 拉取最新版的mongodb镜像文件

等待镜像拉取完成后,通过命令"sudo docker images"查看下拉取的镜像,可以看到,已经成功拉取到了本地

3.开始运行

创建一个文件夹,用作mongodb的数据目录挂载

运行启动命令“docker run -p 27017:27017 -v /data/mongo:/data/db --name mongodb -d mongo”

在上面的命令中,几个命令参数的详细解释如下:

-p 映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务

-v 为设置容器的挂载目录,这里是将本机的“/data/mongo”目录挂载到容器中的/data/db中,作为 mongodb 的存储目录

--name 为设置该容器的名称

-d 设置容器以守护进程方式运行

通过命令“docker ps”查看容器启动运行情况

可以看到mongo容器已经成功运行起来了

4.使用客户端工具Studio 3T连接mongo

studiot 3T下载地址:https://studio3t.com/download/

5.创建mongo用户

可以看到一个空的mongo数据库,有一个不太完美的地方在于我们的mongo没有任何账户密码,在裸奔,下面我们执行以下语句,创建一个管理员用户,

代码语言:javascript
复制
db.createUser({
user: 'admin',
pwd: 'Aa123456',
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
});

6.指定auth重新运行服务

创建完用户我们就要重新启动mongo服务,并且指定auth

删除已经运行的mongo容器:docker rm -f mongodb

指定验证启动mongo容器:docker run -p 27017:27017 -v /data/mongo:/data/db --name mongodb -d mongo --auth

也就是在之前的启动命令后面加上 --auth:需要密码才能访问容器服务

此时强行访问,可以看到提示,没有授权

这里我们在连接的地方指定一下账户密码

再来查询,已经正确查询出来之前添加的用户信息

7.创建一个业务数据库和对应的读写账户

代码语言:javascript
复制
use demo_db;
db.createUser({
  user: 'dev',
  pwd: 'Aa123456',
  roles: [ { role: "readWrite", db: "demo_db" } ]
  });

然后用这个dev账号来登录

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.版本选取
  • 2.拉取最新版本镜像
  • 3.开始运行
  • 4.使用客户端工具Studio 3T连接mongo
  • 5.创建mongo用户
  • 6.指定auth重新运行服务
  • 7.创建一个业务数据库和对应的读写账户
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档