docker部署mongodb
1、获取最新镜像
docker pull mongo:latest
2、创建文件
mkdir -p /export/server/docker/mongodb/data
3、运行镜像
docker run --name mongodb -v /export/server/docker/mongodb/data:/data/db -d -p 27017:27017 mongo --auth
- 用-v做目录映射等于做了持久化,容器删除新建后数据还在。(如物理机目录不存在,run时会自动创建)
- 端口映射是一定要有的,不然在宿主机上无法连接
- –auth 需要密码才能访问容器服务
4、以mongosh方式进入,并切换到admin数据库
docker exec -it mongodb /bin/mongosh admin
或
docker exec -it mongodb /bin/mongosh
use admin
或
docker exec -it mongodb /bin/bash
/bin/mongosh admin
很多文章使用docker exec -it mongodb mongo 会报错,因为新版/bin目录里mongo文件变成了mongosh
5、创建对应的用户赋予权限,并使用新用户登录
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
db.auth('admin', '123456')
6、测试
show databases #查看所有数据库
show tables #查看所有表(集合)
use test #切换数据库(如不存在则先自动创建)
db.test.insert( { _id: 1, name: "kudaren", age: "29" } ) #insert
db.test.find();#select
7、客户端工具