以下为你详细介绍使用 Docker 安装 MongoDB 的步骤:
你可以从 Docker Hub 拉取所需版本的 MongoDB 镜像。例如,若要拉取最新版本的 MongoDB 镜像,可使用以下命令:
docker pull mongo例如:
root@g450:~# docker pull mongo
Using 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 image for mongo:latest
docker.io/library/mongo:latest若想拉取特定版本,比如 6.0 版本,可执行:
docker pull mongo:6.02. 创建并运行 MongoDB 容器
拉取镜像后,就可以创建并运行 MongoDB 容器了。运行容器时,可以根据需求自定义端口、数据存储路径等参数。以下是一个示例命令:
docker run -d --name my-mongo -p 27017:27017 mongo:6.0各参数含义如下:
-d:让容器在后台运行。
--name my-mongo:为容器指定名称 my-mongo。
-p 27017:27017:将容器的 27017 端口映射到主机的 27017 端口,方便从主机访问 MongoDB 服务。
mongo:6.0:使用的 MongoDB 镜像版本。
为防止容器被删除后数据丢失,可使用 Docker 卷来持久化存储 MongoDB 数据。首先创建一个 Docker 卷:
docker volume create mongo-data例如:
root@g450:~# docker volume create mongo-data
mongo-data接着在运行容器时挂载该卷:
docker run -d --name my-mongo -p 27017:27017 -v mongo-data:/data/db mongo:6.0
root@g450:~# docker run -d --name my-mongo -p 27017:27017 -v mongo-data:/data/db mongo
0978cb8411e8d306e50a77293a07e022be152b7ca0e87a4a0314a0afaf818af3这里的 -v mongo-data:/data/db 表示将名为 mongo-data 的 Docker 卷挂载到容器内的 /data/db 目录,该目录是 MongoDB 存储数据的地方。
容器运行后,你可以使用 MongoDB 客户端工具(如 mongo 或 mongosh )连接到数据库。如果使用 mongosh ,可以使用以下命令连接:
mongosh "mongodb://localhost:27017"以下是将上述步骤整合的完整脚本示例:
docker-install-mongodb 使用 Docker 安装 MongoDB 的脚本
#!/bin/bash
# 拉取 MongoDB 6.0 镜像
docker pull mongo:6.0
# 创建 Docker 卷用于持久化存储数据
docker volume create mongo-data
# 创建并运行 MongoDB 容器
docker run -d --name my-mongo -p 27017:27017 -v mongo-data:/data/db mongo:6.0
# 等待一段时间,确保容器启动
sleep 10
# 尝试连接到 MongoDB 数据库
echo "尝试连接到 MongoDB 数据库..."
mongosh "mongodb://localhost:27017" <<EOF
show dbs
EOF将上述脚本保存为 install_mongodb.sh,赋予执行权限并运行:
chmod +x install_mongodb.sh
./install_mongodb.sh通过以上步骤,你就能使用 Docker 成功安装并运行 MongoDB 数据库。
注意了,下面是 docker 启动 mognodb 的命令示例:
示例1:
# 启动 MongoDB 容器(推荐 6.x 稳定版)
docker run -d \
--name mongodb-no-auth \
--restart=always \ # 开机自启
-p 27017: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 稳定版)
docker run -d \
--name mongodb-no-auth \
-p 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 # 禁用认证(核心:关闭密码验证)