Update from Sync Service
This commit is contained in:
@@ -1,88 +1,114 @@
|
||||
1.镜像下载
|
||||
下载 `MongoDB` 镜像命令:
|
||||
# Docker 部署 MongoDB
|
||||
|
||||
```
|
||||
```
|
||||
docker pull mongo
|
||||
```
|
||||
```
|
||||
执行 `docker images` 查看镜像,下载成功,如下图:
|
||||
## 1. 下载 MongoDB 镜像
|
||||
|
||||
2.启动 `MongoDB`
|
||||
启动 `MongoDB` 命令:
|
||||
```bash
|
||||
docker pull mongo:latest
|
||||
|
||||
```
|
||||
```
|
||||
docker run -p 27017:27017 -v $PWD/db:/data/db -d mongo:latest
|
||||
# 查看已下载的镜像
|
||||
docker images mongo
|
||||
```
|
||||
|
||||
```
|
||||
## 命令说明:
|
||||
## 2. 启动 MongoDB 容器
|
||||
|
||||
```
|
||||
```
|
||||
 -p 27017:27017 :
|
||||
```bash
|
||||
docker run -d \
|
||||
--name mongodb \
|
||||
-p 27017:27017 \
|
||||
-v $PWD/data:/data/db \
|
||||
mongo:latest
|
||||
```
|
||||
|
||||
```
|
||||
## 将容器的
|
||||
### 参数说明
|
||||
|
||||
```
|
||||
```
|
||||
27017
|
||||
| 参数 | 说明 |
|
||||
|------|------|
|
||||
| `-d` | 后台运行 |
|
||||
| `--name mongodb` | 容器名称 |
|
||||
| `-p 27017:27017` | 端口映射(主机:容器) |
|
||||
| `-v $PWD/data:/data/db` | 数据卷挂载,持久化存储 |
|
||||
|
||||
## 3. 配置认证(可选,推荐)
|
||||
|
||||
```bash
|
||||
# 创建管理员账号
|
||||
docker exec -it mongodb mongosh admin
|
||||
|
||||
# 在 mongosh 中执行
|
||||
db.createUser({
|
||||
user: "admin",
|
||||
pwd: "你的密码",
|
||||
roles: [{ role: "root", db: "admin" }]
|
||||
})
|
||||
|
||||
# 退出
|
||||
exit
|
||||
```
|
||||
|
||||
```
|
||||
## 端口映射到主机的
|
||||
### 带认证启动
|
||||
|
||||
```
|
||||
```
|
||||
27017
|
||||
```bash
|
||||
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. 连接测试
|
||||
|
||||
```
|
||||
```
|
||||
 -v $PWD/db:/data/db :
|
||||
```bash
|
||||
# 方式一:使用 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
|
||||
```
|
||||
|
||||
```
|
||||
## 将主机中当前目录下的**`db`**挂载到容器的
|
||||
看到以下提示说明部署成功:
|
||||
|
||||
```
|
||||
```
|
||||
/data/db
|
||||
It looks like you are trying to access MongoDB over HTTP on the native driver port.
|
||||
```
|
||||
|
||||
```
|
||||
**,作为**`mongo`**数据存储目录**``
|
||||
启动成功,如下图:
|
||||
## 5. 常用管理命令
|
||||
|
||||
3.测试连接 `MongoDB`
|
||||
连接 `MongoDB` 命令:
|
||||
```bash
|
||||
# 查看容器状态
|
||||
docker ps | grep mongodb
|
||||
|
||||
```
|
||||
```
|
||||
docker run -it mongo:latest mongo --host 172.17.0.1
|
||||
# 查看日志
|
||||
docker logs -f mongodb
|
||||
|
||||
# 进入容器
|
||||
docker exec -it mongodb bash
|
||||
|
||||
# 停止/启动
|
||||
docker stop mongodb
|
||||
docker start mongodb
|
||||
```
|
||||
|
||||
```
|
||||
## 命令说明:
|
||||
## 6. 数据备份与恢复
|
||||
|
||||
```
|
||||
```
|
||||

|
||||
```bash
|
||||
# 备份(数据在挂载的 $PWD/data 目录中)
|
||||
tar -czvf mongodb-backup-$(date +%Y%m%d).tar.gz data/
|
||||
|
||||
# 恢复
|
||||
tar -xzvf mongodb-backup-xxxxxxxx.tar.gz
|
||||
```
|
||||
|
||||
```
|
||||
## 使用**`mongo`**镜像执行**`mongo` **命令连接到刚启动的容器**`,`**主机**`IP`**为
|
||||
---
|
||||
|
||||
```
|
||||
```
|
||||
172.17.0.1
|
||||
```
|
||||
|
||||
```
|
||||
提示信息 `It looks like you are trying to access MongoDB over HTTP on the native driver port.` ,nice,部署 `MongoD` 成功!
|
||||
> 参考:[MongoDB Docker 官方文档](https://hub.docker.com/_/mongo)
|
||||
|
||||
Reference in New Issue
Block a user