2.0 KiB
Executable File
2.0 KiB
Executable File
Docker 部署 MongoDB
1. 下载 MongoDB 镜像
docker pull mongo:latest
# 查看已下载的镜像
docker images mongo
2. 启动 MongoDB 容器
docker run -d \
--name mongodb \
-p 27017:27017 \
-v $PWD/data:/data/db \
mongo:latest
参数说明
| 参数 | 说明 |
|---|---|
-d |
后台运行 |
--name mongodb |
容器名称 |
-p 27017:27017 |
端口映射(主机:容器) |
-v $PWD/data:/data/db |
数据卷挂载,持久化存储 |
3. 配置认证(可选,推荐)
# 创建管理员账号
docker exec -it mongodb mongosh admin
# 在 mongosh 中执行
db.createUser({
user: "admin",
pwd: "你的密码",
roles: [{ role: "root", db: "admin" }]
})
# 退出
exit
带认证启动
docker stop mongodb
docker rm mongodb
docker run -d \
--name mongodb \
-p 27017:27017 \
-v $PWD/data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=你的密码 \
mongo:latest --auth
4. 连接测试
# 方式一:使用 mongosh 连接
docker exec -it mongodb mongosh --host 127.0.0.1
# 方式二:从另一容器连接
docker run -it --rm \
--link mongodb:mongo \
mongo:latest \
mongosh --host mongo
# 方式三:从主机连接(需要安装 mongosh)
mongosh mongodb://admin:密码@localhost:27017
看到以下提示说明部署成功:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
5. 常用管理命令
# 查看容器状态
docker ps | grep mongodb
# 查看日志
docker logs -f mongodb
# 进入容器
docker exec -it mongodb bash
# 停止/启动
docker stop mongodb
docker start mongodb
6. 数据备份与恢复
# 备份(数据在挂载的 $PWD/data 目录中)
tar -czvf mongodb-backup-$(date +%Y%m%d).tar.gz data/
# 恢复
tar -xzvf mongodb-backup-xxxxxxxx.tar.gz