Docker 安装 MongoDB
Docker 安装 MongoDB
MongoDB
是一个免费的开源跨平台面向文档的 NoSQL
数据库程序。
1、查看可用的 MongoDB 版本
访问 MongoDB
镜像库地址: https://hub.docker.com/_/mongo?tab=tags&page=1&ordering=last_updated&name=latest。
可以通过 Sort by
查看其他版本的 MongoDB
,默认是最新版本 mongo:latest
。
可以在下拉列表中找到其他你想要的版本:
此外,我们还可以用 docker search mongo
命令来查看可用版本:
docker search mongo
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mongo MongoDB document databases provide high avai… 8013 [OK]
mongo-express Web-based MongoDB admin interface, written w… 995 [OK]
tutum/mongodb MongoDB Docker image – listens in port 27017… 229 [OK]
frodenas/mongodb A Docker Image for MongoDB 18 [OK]
webhippie/mongodb Docker images for MongoDB 10 [OK]
centos/mongodb-32-centos7 MongoDB NoSQL database server 9
centos/mongodb-36-centos7 MongoDB NoSQL database server 7
centos/mongodb-26-centos7 MongoDB NoSQL database server 5
eses/mongodb_exporter mongodb exporter for prometheus 4 [OK]
neowaylabs/mongodb-mms-agent This Docker image with MongoDB Monitoring Ag… 4 [OK]
centos/mongodb-34-centos7 MongoDB NoSQL database server 3
zadki3l/mongodb-oplog Simple mongodb image with single-node replic… 2 [OK]
tozd/mongodb Base image for MongoDB server. 2 [OK]
elarasu/mongodb_exporter https://github.com/percona/mongodb_exporter 2 [OK]
ssalaues/mongodb-exporter MongoDB Replicaset Prometheus Compatible Met… 2
mongodbsap/mongodbdocker 2
ansibleplaybookbundle/mongodb-apb An APB to deploy MongoDB. 1 [OK]
xogroup/mongodb_backup_gdrive Docker image to create a MongoDB database ba… 1 [OK]
openshift/mongodb-24-centos7 DEPRECATED: A Centos7 based MongoDB v2.4 ima… 1
superpaintman/mongodb-exporter MongoDB exporter for prometheus.io, written … 1 [OK]
tiredofit/mongodb-backup Docker MongoDB Backup Container based on Al… 0 [OK]
weseek/mongodb-awesome-backup Backup scripts of MongoDB Databases to Amazo… 0 [OK]
gebele/mongodb mongodb 0 [OK]
targetprocess/mongodb_exporter MongoDB exporter for prometheus 0 [OK]
phenompeople/mongodb MongoDB is an open-source, document databas… 0 [OK]
2、拉取最新版的 MongoDB 镜像
这里我们拉取官方的最新版本的镜像:
docker pull mongo:latest
Using default tag: latest
latest: Pulling from library/mongo
16ec32c2132b: Pull complete
6335cf672677: Pull complete
cbc70ccc8ebe: Pull complete
0d1a3c6bd417: Pull complete
960f3b9b27d3: Pull complete
aff995a136b4: Pull complete
4249be7550a8: Pull complete
4da411c5a406: Pull complete
4b9c6ac629be: Pull complete
4de7437f497e: Pull complete
Digest: sha256:d78c7ace6822297a7e1c7076eb9a7560a81a6ef856ab8d9cde5d18438ca9e8bf
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest
3、查看本地镜像
使用以下命令来查看是否已安装了 mongo
:
docker images
在上图中可以看到我们已经安装了最新版本(latest
)的 mongo
镜像。
4、运行容器
安装完成后,我们可以使用以下命令来运行 mongo
容器:
docker run -itd --name mongo --restart=unless-stopped -v /usr/local/mongodb:/usr/local/mongdb -v /usr/local/docker/mongodb/mongo.conf:/data/configdb/mongo.conf -p 27017:27017 mongo --auth
参数说明:
- -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
- --auth:需要密码才能访问容器服务。
5、安装成功
最后我们可以通过 docker ps 命令查看容器的运行信息:
接着使用以下命令添加用户和设置密码,并且尝试连接。
docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')