docker 安装mongoDB

在Docker中安装MongoDB是一个简单的过程,可以通过以下步骤完成:

  1. **拉取MongoDB官方镜像**:

使用Docker命令行工具拉取MongoDB的官方Docker镜像。

复制代码
 docker pull mongo
  1. **运行MongoDB容器**:

使用`docker run`命令来启动一个新的MongoDB容器。默认情况下,MongoDB监听27017端口,因此需要将容器的端口映射到宿主机的相同或不同的端口。

复制代码
docker run --name mongodb -d -p 27017:27017 mongo

在这个命令中:

  • `--name mongodb` 为容器指定一个名称,方便后续管理。

  • `-d` 表示在后台运行容器。

  • `-p 27017:27017` 将容器的27017端口映射到宿主机的27017端口。

  1. **验证MongoDB是否运行**:

使用`docker ps`命令查看容器是否成功运行。

复制代码
docker ps
  1. **连接到MongoDB**:

你可以通过MongoDB客户端或MongoDB Shell连接到MongoDB服务器。如果你在本地运行Docker容器,可以使用以下命令:

复制代码
 mongo localhost:27017
  1. **配置数据卷**(可选):

为了持久化MongoDB数据,你可以创建一个数据卷或挂载宿主机的目录到容器中。

复制代码
docker run --name mongodb -d -p 27017:27017 -v /data/db mongo

在这个命令中,`-v /data/db` 表示将宿主机的`/data/db`目录挂载到容器的`/data/db`目录,这是MongoDB的默认数据存储路径。

  1. **环境变量配置**(可选):

你可以通过设置环境变量来配置MongoDB,例如设置认证机制。

复制代码
docker run --name mongodb -d -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=myUser -e MONGO_INITDB_ROOT_PASSWORD=myPassword mongo

在这个命令中,`-e` 用于设置环境变量,这里配置了MongoDB的初始用户名和密码。

请注意,上述步骤启动的MongoDB实例没有启用身份验证。在生产环境中,建议启用认证并进行适当的安全配置。

如果你需要使用特定的MongoDB版本,可以通过指定标签来拉取特定版本的镜像,例如`mongo:4.4`。

在实际操作中,建议查看MongoDB的官方Docker Hub页面以获取最新的镜像标签和配置选项。

将宿主机目录挂载到mangodb容器

复制代码
mkdir -p /path/to/mongodb/configdb
mkdir -p /path/to/mongodb/data

docker run --name mongodb -d -p 27017:27017 \
  -v /path/to/mongodb/configdb:/configdb \
  -v /path/to/mongodb/data:/data/db \
  mongo --config /configdb/mongod.conf
  • --config /configdb/mongod.conf 指定MongoDB的配置文件路径。

在宿主机的配置文件目录中创建MongoDB的配置文件mongod.conf,并添加所需的配置。

复制代码
storage:
  dbPath: /data/db
net:
  port: 27017
相关推荐
金刚猿13 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong14 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿14 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
space621232716 小时前
在SpringBoot项目中集成MongoDB
spring boot·后端·mongodb
70asunflower17 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
全栈前端老曹18 小时前
【MongoDB】Node.js 集成 —— Mongoose ORM、Schema 设计、Model 操作
前端·javascript·数据库·mongodb·node.js·nosql·全栈
春日见18 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe219 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
星火s漫天19 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
MonkeyKing_sunyuhua21 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka