docker部署mongodb
时间: 2023-09-23 15:10:12 浏览: 181
docker下部署mongodb
5星 · 资源好评率100%
使用Docker部署MongoDB有以下几个步骤:
1. 首先,你需要获取最新的MongoDB镜像。可以使用以下命令来获取最新的镜像:
```
docker pull mongo:latest
```
2. 接下来,创建一个目录用于存储MongoDB的数据文件。可以使用以下命令创建目录:
```
mkdir -p /export/server/docker/mongodb/data
```
3. 运行MongoDB容器并进行映射和认证设置。可以使用以下命令运行镜像:
```
docker run --name mongodb -v /export/server/docker/mongodb/data:/data/db -d -p 27017:27017 mongo --auth
```
这个命令中,`-v`参数用于将宿主机的目录映射到容器内的目录,以实现数据持久化。`-p`参数用于将容器内的端口映射到宿主机上,以便在宿主机上连接MongoDB。`--auth`参数表示需要密码才能访问容器服务。
4. 使用Mongo Shell连接到MongoDB容器并切换到admin数据库。可以使用以下命令:
```
docker exec -it mongodb /bin/mongosh admin
```
或者
```
docker exec -it mongodb /bin/bash /bin/mongosh admin
```
这个命令将以Mongo Shell的方式进入容器,并切换到admin数据库。
5. 创建一个管理员用户并授予相应的权限,并使用新创建的用户进行登录。可以使用以下命令:
```
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
db.auth('admin', '123456')
```
这个命令将创建一个名为admin的用户,并赋予userAdminAnyDatabase和readWriteAnyDatabase的角色,然后使用新创建的用户进行登录。
6. 进行一些基本的测试操作,比如查看数据库和表,并插入一条数据。可以使用以下命令:
```
show databases # 查看所有数据库
show tables # 查看所有表(集合)
use test # 切换到test数据库(如果不存在则自动创建)
db.test.insert( { _id: 1, name: "kudaren", age: "29" } ) # 插入数据
db.test.find(); # 查询数据
```
7. 最后,你可以使用适合你的客户端工具连接到MongoDB进行操作。
总结:Docker部署MongoDB需要先获取最新的镜像,创建数据文件存储目录,运行镜像并进行映射和认证设置,然后使用Mongo Shell连接到容器并进行操作,最后可以使用客户端工具连接到MongoDB进行管理。
阅读全文