1.拉取MongoDB镜像
dockerhub网站上可以搜索你想要的docker镜像https://hub.docker.com/search?q=image&type=image
docker pull mongo
2.创建容器
root@iit9l5oZ /]# docker run -d --name mongoServer --restart=always -p 27017:27017 -v /usr/data/mongo/:/data/db mongo --auth
命令说明:
-p:宿主机端口与容器端口映射,前面的端口为主机映射端口(需配置服务器安全组),后面的端口为镜像开放的端口
-v:挂载,将容器中的mongoDB持久化数据挂载到宿主机,避免容器重启导致的数据丢失。
--restart=always:无论什么情况挂壁,总是重启
--name:容器名称
-d:使用指定的镜像,在后台运行容器
--auth:设置授权,需要设置用户密码,外部才能访问
3.创建admin用户,并设置密码
[root@iit9l5oZ /]# docker exec -it mongoServer /bin/bash
[root@iit9l5oZ /]# mongo
MongoDB shell version v4.2.7
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("89e6ec2e-9139-4ebb-96f9-133ec8ed328e") }
MongoDB server version: 4.2.7
> use admin
switched to db admin
> db.createUser({ user: 'root', pwd: '1111', roles: [ { role: "root", db: "admin" } ] });
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
>exit
4.成功之后就可以使用客户端连接MongoDB了