1.搜索Docker仓库中MongoDB 相关的镜像
docker search mongo
2.下载Docker官方的最新版本的镜像
docker pull mongo:latest
3.查询Docker仓库中的镜像
docker images
4.创建映射文件的目录,并且赋予权限
sudo mkdir -p /usr/local/mongodb/datadb
#mongodb下面所有子目录给予777权限
sudo chmod 777 -R /usr/local/mongodb/
5.运行容器
docker run -d --name mongodb -p 27018:27017 -v /usr/local/mongodb/datadb:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin123 --privileged=true --restart always mongo
-d 后台运行容器
–name mongodb 运行容器名
-p 27018:27017 将容器的27017端口映射到主机的27018端口
-v /usr/local/mongodb/datadb:/data/db 文件挂载: 本机:容器
-e MONGO_INITDB_ROOT_USERNAME=admin 指定用户名
-e MONGO_INITDB_ROOT_PASSWORD=admin123 指定密码
–privileged=true 使得容器内的root拥有真正的root权限
–restart always 跟随docker一起启动,即docker启动时会自动运行容器
mongo 运行的镜像名字
6.以 admin 用户身份进入mongo :
docker exec -it mongodb mongo admin
7.如果没有创建的管理员账号的话,要创建一个管理员账号
创建一个 admin 管理员账号 :
db.createUser({ user: 'admin', pwd: 'admin123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
8.对 admin 用户 进行身份认证:
db.auth("admin","admin123456");
9.创建 用户、密码和数据库
用户:user
密码:user123
数据库:item
db.createUser({ user: 'user', pwd: 'user123', roles: [ { role: "readWrite", db: "item" } ] });
10.对 user进行身份认证
db.auth("user","user123");
11.切换数据库
use item
12.添加数据
db.item.save({name:"zhangsan"});
13.查询数据
db.item.find();