废话不多说,直接上操作:
查看可用版本:
docker search mongo
拉取最新镜像:
docker pull mongo:latest
查看是否已安装:
docker images
运行 mongo 容器:
docker run -itd --name mongo -p 27017:27017 mongo --auth
- -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
- --auth:需要密码才能访问容器服务。
查看MongoDB进程:
docker ps
进入容器:
docker exec -it mongo mongo admin
创建管理员账号:
db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]})
登录:
db.auth('admin', '123456')
创建普通账号:
db.createUser({ user: 'swen', pwd: 'swen123456', roles: [ { role: "readWrite", db: "app" } ] });
认证
db.auth("swen","swen123456")
切换数据库:
use app
操作记录如下:
db.createUser({ user: 'swen', pwd: 'swen123456', roles: [ { role: "readWrite", db: "app" } ] });
Successfully added user: {
"user" : "swen",
"roles" : [
{
"role" : "readWrite",
"db" : "app"
}
]
}
> exit
bye
➜ ~ dodocker exec -it mongo mongo admin
MongoDB shell version v4.2.2
connecting to: mongodb://127.0.0.1:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e2d1c858-6d59-43b3-b505-d1cb969f88c8") }
MongoDB server version: 4.2.2
>
>
> db.auth("swen","swen123456")
1
> use app
switched to db app
到此,docker 安装 MongoDB 完成!