Skip to content

Docker 安装 MongoDB

在 Docker 环境中安装 MongoDB 是一个简单高效的方式。本文将介绍如何使用 Docker 安装和配置 MongoDB。

1. 拉取 MongoDB 镜像

打开终端或命令提示符,执行以下命令来从 Docker Hub 获取最新的 MongoDB 镜像:

bash
docker pull mongo:latest

如果您在中国或其他网络环境受限地区,可能需要更改为国内镜像源,例如阿里云,来加速下载过程。

2. 运行 MongoDB 容器

接下来,使用以下命令来创建并启动 MongoDB 容器。这个命令映射了主机的 27017 端口到容器内的 27017 端口,并将数据存储在主机的一个目录中,以便于持久化数据:

bash
docker run -d \
    --name mongodb \
    -p 27017:27017 \
    -v /your/host/data/dir:/data/db \
    mongo:latest

参数说明:

  • -d 表示以后台模式运行容器。
  • --name mongodb 指定容器名称为 mongodb。
  • -p 27017:27017 映射容器的 27017 端口到主机的相同端口。
  • -v /your/host/data/dir:/data/db 将主机上的一个目录挂载到容器的 /data/db 目录,用于存储 MongoDB 的数据文件。请将 /your/host/data/dir 替换为您希望在主机上用于存放数据的实际路径。

可选:启用认证

如果您希望容器中的 MongoDB 实例启用访问控制(即认证),可以添加 -e MONGO_INITDB_ROOT_USERNAME=root -e MONGO_INITDB_ROOT_PASSWORD=example 参数来设置管理员用户和密码。同时,您可能需要挂载一个包含初始化脚本的目录,以便在容器启动时执行初始化操作,比如创建用户和数据库。命令如下:

bash
docker run -d \
    --name mongodb \
    -p 27017:27017 \
    -v /your/host/data/dir:/data/db \
    -v /path/to/init-scripts:/docker-entrypoint-initdb.d \
    -e MONGO_INITDB_ROOT_USERNAME=root \
    -e MONGO_INITDB_ROOT_PASSWORD=example \
    mongo:latest

在这个命令中,/path/to/init-scripts 应替换为包含您的初始化脚本(如 .js 文件)的目录路径。

3. 验证安装

容器运行后,可以通过以下命令检查 MongoDB 是否正在运行:

bash
docker ps | grep mongodb

要连接到 MongoDB,可以使用 MongoDB 客户端,如 mongo 命令行工具,假设已安装且配置正确,命令如下:

bash
mongo --host localhost --port 27017

如果启用了认证,连接时需加上用户名和密码:

bash
mongo --host localhost --port 27017 -u root -p example

或者使用 MongoDB Compass 等图形化工具连接。

常用管理命令

查看日志

bash
docker logs mongodb

进入容器

bash
docker exec -it mongodb bash

停止容器

bash
docker stop mongodb

启动容器

bash
docker start mongodb

重启容器

bash
docker restart mongodb

总结

这样,您就完成了使用 Docker 安装 MongoDB 的过程。Docker 方式安装 MongoDB 具有部署简单、环境隔离、易于管理等优点,非常适合开发和测试环境使用。