版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37490221/article/details/85265024
首先,你要有Docker
1.搜索镜像
docker search mongo
zaomianbaoMBP:~ zaomianbao$ docker search mongo
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mongo MongoDB document databases provide high avai… 5454 [OK]
mongo-express Web-based MongoDB admin interface, written w… 340 [OK]
tutum/mongodb MongoDB Docker image – listens in port 27017… 224 [OK]
mvertes/alpine-mongo light MongoDB container 89 [OK]
bitnami/mongodb Bitnami MongoDB Docker Image 78 [OK]
mongoclient/mongoclient Official docker image for Mongoclient, featu… 60 [OK]
mongooseim/mongooseim Small docker image for MongooseIM - robust a… 17
frodenas/mongodb A Docker Image for MongoDB 17 [OK]
cvallance/mongo-k8s-sidecar Kubernetes side car to setup and maintain a … 9 [OK]
centos/mongodb-26-centos7 MongoDB NoSQL database server 5
istepanov/mongodump Docker image with mongodump running as a cro… 5 [OK]
centos/mongodb-32-centos7 MongoDB NoSQL database server 5
eses/mongodb_exporter mongodb exporter for prometheus 4 [OK]
khezen/mongo MongoDB Docker image supporting RocksDB stor… 4 [OK]
circleci/mongo CircleCI images for MongoDB 4 [OK]
centos/mongodb-36-centos7 MongoDB NoSQL database server 3
neowaylabs/mongodb-mms-agent This Docker image with MongoDB Monitoring Ag… 2 [OK]
openshift/mongodb-24-centos7 DEPRECATED: A Centos7 based MongoDB v2.4 ima… 1
nuxeoapbcatalog/nuxeo-mongodb-apb MongoDB deployment for Nuxeo 1 [OK]
ekesken/mongo docker image for mongo that is configurable … 1 [OK]
centos/mongodb-34-centos7 MongoDB NoSQL database server 1
webhippie/mongodb Docker images for mongodb 1 [OK]
vepo/mongo Mongo image with default settings 0 [OK]
ansibleplaybookbundle/mongodb-apb An APB to deploy MongoDB. 0 [OK]
andreasleicher/mongo-azure-backup a docker container to backup a mongodb using… 0 [OK]
2.拉取镜像
就是那个星最多的
docker pull mongo
zaomianbaoMBP:~ zaomianbao$ docker pull mongo
Using default tag: latest
latest: Pulling from library/mongo
7b8b6451c85f: Pull complete
ab4d1096d9ba: Pull complete
e6797d1788ac: Pull complete
e25c5c290bde: Pull complete
45aa1a4d5e06: Pull complete
b7e29f184242: Pull complete
ad78e42605af: Pull complete
1f4ac0b92a65: Pull complete
55880275f9fb: Pull complete
bd0396c9dcef: Pull complete
28bf9db38c03: Pull complete
3e954d14ae9b: Pull complete
cd245aa9c426: Pull complete
Digest: sha256:1b29fbe615ce2f0a91e8973a1aa6fca59b4aaa21bc5d6c8311e6a55cc6ff6b18
Status: Downloaded newer image for mongo:latest
3.查看镜像
如果正常pull下来了,就可以在列表中看到mongo在镜像列表中
docker image ls
zaomianbaoMBP:~ zaomianbao$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo latest 525bd2016729 5 weeks ago 383MB
4.启动mongo
docker run --name <Mongo启动后的实例名> -v <数据文件挂载路径>:/data/db -p 27017:27017 -d <镜像id>
zaomianbaoMBP:~ zaomianbao$ docker run --name mongodb-standalone -v /Users/zaomianbao/private/data/mongo:/data/db -p 27017:27017 -d 525bd2016729
20fcf53ce32bf56186639c6faee8b198c3ef0a3a92d2f957d9da97a1a685d541
5.查看mongo容器状态
docker ps -a
zaomianbaoMBP:~ zaomianbao$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20fcf53ce32b 525bd2016729 "docker-entrypoint.s…" 8 seconds ago Up 6 seconds 0.0.0.0:27017->27017/tcp mongodb-standalone
显示 Up 6 seconds ,即正常运行6秒了
6.进入Mongo控制台
docker exec -it <Mongo启动后的实例名> mongo admin
zaomianbaoMBP:~ zaomianbao$ docker exec -it mongodb-standalone mongo admin
MongoDB shell version v4.0.4
connecting to: mongodb://127.0.0.1:27017/admin
Implicit session: session { "id" : UUID("f73563e8-61e2-4b2b-87e1-2e1994ba7233") }
MongoDB server version: 4.0.4
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
>
可以看出,已经成功进入控制台。注意,这里的指令也可以拆成两个指令。首先执行docker exec -it mongodb-standalone /bin/bash 进入容器,再在容器内执行mongo admin 进入mongo的交互式shell,这里指定的admin是admin数据库
7.添加用户
db.createUser({ user: '<用户名>', pwd: '<密码>', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
> db.createUser({ user: 'zaomianbao', pwd: '123123', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
Successfully added user: {
"user" : "zaomianbao",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
>
8.可视化工具连接
这里使用Navicat For MongoDB进行展示
点击"MongoDB"
输入基本参数
点击"Test Connection"测试连接
最后再点击"Save"即可