1 拉取最新的 MongoDB 镜像 从 Docker Hub 获取最新的 MongoDB 官方镜像:
docker pull mongo:latest
2 设置持久化数据和日志目录
假设你希望将数据和日志存储在主机上的特定目录中,可以新建两个目录来保存数据和日志。例如:
mkdir -p /soft/mongo/data
mkdir -p /soft/mongo/log
/soft/mongo/data 和 /soft/mongo/log 是要存储 MongoDB 数据和日志的路径。
授予权限
sudo chown -R 1000:1000 /soft/mongo/data
sudo chown -R 1000:1000 /soft/mongo/log
3 运行 MongoDB 容器
启动 MongoDB 容器,挂载数据和日志目录,并设置用户名和密码。使用以下命令,将
docker run -d \
--name mongodb \
-p 27017:27017 \
-v /path/to/mongo/data:/data/db \
-v /path/to/mongo/log:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME=<username> \
-e MONGO_INITDB_ROOT_PASSWORD=<password> \
mongo:latest
参数说明
- -d:后台运行容器。
- --name mongodb:指定容器名称为 mongodb。
- -p 27017:27017:将主机的 27017 端口映射到容器的 27017 端口。
- -v /path/to/mongo/data:/data/db:将主机目录挂载到 MongoDB 容器的数据目录 /data/db。
- -v /path/to/mongo/log:/var/log/mongodb:将主机目录挂载到 MongoDB 容器的日志目录 /var/log/mongodb。
- -e MONGO_INITDB_ROOT_USERNAME 和 -e MONGO_INITDB_ROOT_PASSWORD:设置 MongoDB 的管理员用户名和密码。
本次实验改为
docker run -d \
--name mongodb \
--privileged \
-p 27017:27017 \
-v /soft/mongo/data:/data/db \
-v /soft/mongo/log:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME=wang \
-e MONGO_INITDB_ROOT_PASSWORD=321@welcome \
mongo:latest
4 检查 MongoDB 是否正常运行 使用以下命令检查容器状态:
docker ps
输出中应该能看到一个正在运行的 MongoDB 容器。可以通过连接到 MongoDB 进行验证:
docker exec -it mongodb mongo -u wang -p 321@welcome --authenticationDatabase admin
报错了,在mongo5.0后,mongo命令将不能执行操作,使用mongosh来替代。
使用以下命令替换
docker exec -it mongodb mongosh -u wang -p 321@welcome --authenticationDatabase admin
5 查看日志文件 MongoDB 的日志文件会保存在你设置的日志目录中。例如:
cat /path/to/mongo/log/mongodb.log
这就完成了 MongoDB 的安装和配置,数据和日志文件都已持久化存储在主机的指定目录中。
安装图形化工具 MongoDB Compass