
1. 拉取 MongoDB 镜像你可以从 Docker Hub 拉取所需版本的 MongoDB 镜像。例如若要拉取最新版本的 MongoDB 镜像可使用以下命令dockerpull mongo例如rootg450:~# docker pull mongoUsing default tag: latest latest: Pulling from library/mongo 2726e237d1a3: Pull complete 4113c9f6bc12: Pull complete 6bd25e6544db: Pull complete 114959114e76: Pull complete 74e29de52e16: Pull complete a7aa415a3894: Pull complete b4c1b5279c53: Pull complete 2d3498acb5d9: Pull complete Digest: sha256:2c5f154f4e47ef5008c53ff0c9006b6f5c7d6b119c96015aba4136c50ef48b98 Status: Downloaded newer imageformongo:latest docker.io/library/mongo:latest若想拉取特定版本比如 6.0 版本可执行dockerpull mongo:6.02. 创建并运行 MongoDB 容器拉取镜像后就可以创建并运行 MongoDB 容器了。运行容器时可以根据需求自定义端口、数据存储路径等参数。以下是一个示例命令dockerrun-d--namemy-mongo-p27017:27017 mongo:6.0各参数含义如下-d让容器在后台运行。–name my-mongo为容器指定名称 my-mongo。-p 27017:27017将容器的 27017 端口映射到主机的 27017 端口方便从主机访问 MongoDB 服务。mongo:6.0使用的 MongoDB 镜像版本。3. 数据持久化可选但推荐为防止容器被删除后数据丢失可使用 Docker 卷来持久化存储 MongoDB 数据。首先创建一个 Docker 卷dockervolume create mongo-data例如rootg450:~# docker volume create mongo-datamongo-data接着在运行容器时挂载该卷dockerrun-d--namemy-mongo-p27017:27017-vmongo-data:/data/db mongo:6.0 rootg450:~# docker run -d --name my-mongo -p 27017:27017 -v mongo-data:/data/db mongo0978cb8411e8d306e50a77293a07e022be152b7ca0e87a4a0314a0afaf818af3这里的 -v mongo-data:/data/db 表示将名为 mongo-data 的 Docker 卷挂载到容器内的 /data/db 目录该目录是 MongoDB 存储数据的地方。4. 连接到 MongoDB 数据库容器运行后你可以使用 MongoDB 客户端工具如 mongo 或 mongosh 连接到数据库。如果使用 mongosh 可以使用以下命令连接mongoshmongodb://localhost:27017完整脚本示例以下是将上述步骤整合的完整脚本示例docker-install-mongodb 使用 Docker 安装 MongoDB 的脚本#!/bin/bash# 拉取 MongoDB 6.0 镜像dockerpull mongo:6.0# 创建 Docker 卷用于持久化存储数据dockervolume create mongo-data# 创建并运行 MongoDB 容器dockerrun-d--namemy-mongo-p27017:27017-vmongo-data:/data/db mongo:6.0# 等待一段时间确保容器启动sleep10# 尝试连接到 MongoDB 数据库echo尝试连接到 MongoDB 数据库...mongoshmongodb://localhost:27017EOF show dbs EOF将上述脚本保存为 install_mongodb.sh赋予执行权限并运行chmodx install_mongodb.sh ./install_mongodb.sh通过以上步骤你就能使用 Docker 成功安装并运行 MongoDB 数据库。注意了下面是 docker 启动 mognodb 的命令示例示例1# 启动 MongoDB 容器推荐 6.x 稳定版docker run-d \--name mongodb-no-auth \--restartalways \# 开机自启-p27017:27017\# 端口映射宿主机27017 → 容器27017-v mongodb-data:/data/db \# 数据持久化避免容器删除数据丢失-e MONGO_INITDB_ROOT_USERNAME\# 清空根用户名-e MONGO_INITDB_ROOT_PASSWORD\# 清空根密码mongo:6.0\--bind_ip_all \# 允许所有IP访问默认只允许127.0.0.1--noauth# 禁用认证核心关闭密码验证示例2# 启动 MongoDB 容器推荐 6.x 稳定版dockerrun-d\--namemongodb-no-auth\-p27017:27017\-vmongodb-data:/data/db\-eMONGO_INITDB_ROOT_USERNAME\# 清空根用户名-eMONGO_INITDB_ROOT_PASSWORD\# 清空根密码mongo:6.0\--bind_ip_all\# 允许所有IP访问默认只允许127.0.0.1--noauth# 禁用认证核心关闭密码验证