Docker搭建mongodb

这篇博客介绍了如何通过Docker来拉取MongoDB最新镜像并启动容器,强调了映射端口和启用权限验证的重要性。然后详细展示了如何进入MongoDB的admin数据库,创建一个具有管理员权限的用户,以增强数据库的安全性。最后,演示了如何使用创建的用户进行连接,确保了数据库的访问控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.搭建单体mongodb

#拉取镜像
docker pull mongo:latest
#启动容器
docker run -itd --name mongo -p 27017:27017 mongo --auth
#参数说明:
#-p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
#--auth:需要密码才能访问容器服务。
#进入admin库
docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
db.auth('root', '123456')

### 使用Docker安装MongoDB 5 为了使用Docker安装MongoDB 5,可以遵循以下方法: #### 准备工作 确保已经按照说明在目标机器上正确安装了Docker[^2]。这使得可以在不依赖于`sudo`的情况下执行Docker命令。 #### 获取官方Mongo镜像 通过拉取最新的MongoDB社区版镜像来启动项目。对于特定版本如MongoDB 5.x系列,指定标签为`mongo:5`: ```bash docker pull mongo:5 ``` 这条命令会下载适用于MongoDB 5的最新稳定版本到本地环境。 #### 创建持久化存储卷 为了避免数据丢失,在运行容器之前先创建一个新的Docker Volume用于保存数据库文件: ```bash docker volume create mongodb_data_vol ``` 这样做的好处是可以独立管理磁盘上的数据而不会因为删除或重新创建容器而导致任何损失。 #### 启动MongoDB服务 现在准备好启动带有自定义配置选项的服务实例。下面的例子展示了如何设置端口映射以及挂载前面创建的数据卷: ```bash docker run -d \ --name some-mongo \ -p 27017:27017 \ -v mongodb_data_vol:/data/db \ mongo:5 ``` 上述脚本中的参数解释如下: - `-d`: 表示以后台模式运行容器; - `--name some-mongo`: 给这个正在运行的容器起名为some-mongo; - `-p 27017:27017`: 将主机的27017端口转发给容器内的相同端口号,默认情况下MongoDB监听的就是该端口[^3]; - `-v mongodb_data_vol:/data/db`: 把之前建立好的volume连接至容器内部路径/data/db作为其实际的工作目录; 此时,MongoDB服务器已经在Docker环境中成功部署完毕,并可通过默认端口访问[^4]。 #### 验证安装情况 最后一步是验证一切正常运作。可以通过尝试连接到新搭建起来的服务来进行简单的测试操作: ```javascript // 测试连接字符串 mongodb://localhost:27017/ ``` 如果没有任何错误提示,则表明整个过程顺利完成!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值