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
相关推荐
啦啦啦小石头1 天前
Docker 换源
docker
等什么君!1 天前
docker -数据卷技术
运维·docker·容器
上天_去_做颗惺星 EVE_BLUE1 天前
Docker高效使用指南:从基础到实战模板
开发语言·ubuntu·docker·容器·mac·虚拟环境
好好沉淀1 天前
Docker开发笔记(详解)
运维·docker·容器
禅口魔心1 天前
Win10 + WSL2 + Docker:K510(DongshanPI-Vision)开发环境从踩坑到跑通全记录(交叉编译 + 上板运行)
docker·嵌入式开发·wsl2·k510
2501_936960361 天前
ROS快速入门教程
数据库·mongodb
Free Tester1 天前
基于已有容器生成Dockerfile
docker
lcx_defender1 天前
【Docker】Docker部署运行nacos
运维·docker·容器
啦啦啦小石头1 天前
docker添加用户权限不使用sudo
运维·docker·容器
cuber膜拜1 天前
Weaviate 简介与基本使用
数据库·python·docker·向量数据库·weaviate