docker安装mongoDB

1. 拉取MongoDB镜像

首先,我们需要从Docker Hub上拉取MongoDB的官方镜像。打开终端,运行以下命令:

bash 复制代码
docker pull mongo

2. 查看已下载的镜像

拉取完成后,我们可以使用以下命令查看已下载的MongoDB镜像:

bash 复制代码
docker images

3. 创建持久化映射目录

为了将MongoDB的数据保存在宿主机上,我们需要创建一个持久化映射目录。运行以下命令:

bash 复制代码
mkdir -p /usr/local/mongodb/data/db
chmod 777 /usr/local/mongodb/data/db

4. 创建MongoDB容器

接下来,我们将创建一个MongoDB容器,并将其命名为"mongo"。运行以下命令:

bash 复制代码
docker run \
-d \
--name mongo \
-v /usr/local/mongodb/data/db:/data/db \
-p 27017:27017 \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=mongoroot  \
--privileged=true mongo

这个命令中,我们设置了容器名为"mongo",将宿主机的/usr/local/mongodb/data/db目录映射到容器的/data/db目录,将容器的27017端口映射到宿主机的27017端口,并设置了初始用户名和密码。

5. 连接MongoDB

容器创建成功后,我们可以使用以下命令连接到MongoDB:

bash 复制代码
docker exec -it mongo mongosh -u root -p mongoroot --authenticationDatabase admin

6. 图形化连接MongoDB

除了使用命令行工具连接MongoDB,我们还可以使用图形化工具进行连接。这里我们使用Navicat。打开Navicat,输入连接信息,点击"测试连接"。

7. 创建新的数据库和用户

在连接到MongoDB后,我们可以创建一个新的数据库和用户。运行以下命令:

bash 复制代码
use big-data

然后,创建一个新的用户:

bash 复制代码
db.createUser({
    user: "root",
    pwd: "big-data-root",
    roles: [
        { role: "readWrite", db: "big-data" }
    ]
})

8. 使用新用户连接MongoDB

创建新用户后,我们可以使用该用户进行连接。在Navicat中输入新用户的连接信息,点击"测试连接"。

至此,我们已经成功使用Docker安装了MongoDB,并创建了一个新的数据库和用户。现在,我们就可以在MongoDB中进行数据操作和查询了。

参考链接:cengxuyuan.cn

相关推荐
金刚猿8 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong8 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿9 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
陈桴浮海10 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
space621232710 小时前
在SpringBoot项目中集成MongoDB
spring boot·后端·mongodb
70asunflower12 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
全栈前端老曹12 小时前
【MongoDB】Node.js 集成 —— Mongoose ORM、Schema 设计、Model 操作
前端·javascript·数据库·mongodb·node.js·nosql·全栈
ShiLiu_mtx13 小时前
k8s - 7
云原生·容器·kubernetes
春日见13 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe213 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr