当前位置:首页 > 数据库 > 在Docker中安装MongoDB

在Docker中安装MongoDB

2022年11月09日 10:46:43数据库6

 

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”
在Docker中安装MongoDB _ JavaClub全栈架构师技术笔记
在上面的命令中,几个命令参数的详细解释如下:
-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没有任何账户密码,在裸奔,下面我们执行以下语句,创建一个管理员用户,
?
1
2
3
4
5
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.创建一个业务数据库和对应的读写账户

?
1
2
3
4
5
6
use demo_db;
db.createUser({
   user: 'dev' ,
   pwd: 'Aa123456' ,
   roles: [ { role: "readWrite" , db: "demo_db" } ]
   });

  

然后用这个dev账号来登录

 

 

在Docker中安装MongoDB _ JavaClub全栈架构师技术笔记

来源链接:https://www.cnblogs.com/gaidy/p/13606626.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/database/68666.html

标签: MongoDBDockerGo
分享给朋友:

“在Docker中安装MongoDB” 的相关文章

Spring Batch 读 10 万条记录,写到 MongoDB

实践内容 从 MariaDB 一张表内读 10 万条记录,经处理后写到 MongoDB 。 具体实现 1、新建 Spring Boot 应用,依赖如下: <!-- Web 应用 -->...

Django的下载和安装

Django的下载和安装

Django的下载和安装 1.官网链接  https://www.djangoproject.com/download/ 2.下载后,解压,将解压包放在Python的安装目录。(前提是安装了Python)   3.进入Django,执...

UBUNTU下MONGODB出现PHP Fatal error: Uncaught exception 'MongoConnectionException' with message 和 Authentication failed on database 'admin' with username

MONGO 远程连接服务器,出现: PHP Fatal error: Uncaught exception 'MongoConnectionException' with message 'Failed to connect to: 63.141.xx.xxx:270...

docker安装部署rabbitmq

1. docker pull rabbitmq 2. docker images 3. docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/li...

Error creating bean with name 'contentCategoryController': Injection of autowired dependencies failed;

Error creating bean with name 'contentCategoryController': Injection of autowired dependencies failed;

在springmvc、spring、mybatis搭建的工程中出现了一大串错误 查了代码后发现,原来是在ContentCategoryServiceImpl中忘了写一句话@Service(),以至于因此导致一系列错误。 在控制层调用业务层,必须在业...

Linux中CentOS7使用Docker安装RabbitMQ

Linux中CentOS7使用Docker安装RabbitMQ

 没有安装Docker参考我这篇文章:Linux中CentOs7安装Docker以及Docker的干净卸载_$初学者¥的博客-CSDN博客CentOS安装Docker,CentOS将Docker卸载干净。https://blog.csdn.net/qq_51750546...

Go复写--基础面试题1

1、谈谈GO分号 2、短声明可以在哪里使用? 3、 package main var num int func main() { str := "hello world" if true { var b bool...

Docker安装RocketMQ以及使用

Docker安装RocketMQ以及使用

目录 一、RocketMQ简介 二、docker安装RocketMQ  三、java使用RocketMQ  一、RocketMQ简介 Apache RocketMQ是一个分布式消息传递和流媒体平台,具有低延迟,高性能和可靠...

五分钟搞定Docker安装ElasticSearch

五分钟搞定Docker安装ElasticSearch

使用Docker安装es遇到的所有问题 前言 一、安装Docker 二、安装ElasticSearch 三、安装ElasticSearch-Head 四、安装IK分词器 六、总结...

docker安装nginx

docker安装nginx

目录 一、下载nginx镜像 二、查看nginx镜像  三、nginx配置文件挂在到主机 四、启动nginx 六、访问 七、nginx其他命令 一、下载nginx镜像 默认下载最新版本nginx,如需要指定版本ng...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。