在Docker容器中下载并运行MongoDB
MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序。
查看可用的 MongoDB 版本
访问 MongoDB 镜像库地址: https://hub.docker.com/_/mongo?tab=tags&page=1。可以通过 Sort by 查看其他版本的 MongoDB,默认是最新版本 mongo:latest。
此外,我们还可以用
docker search mongo
命令来查看可用版本:
$ docker search mongo
NAME DESCRIPTION STARS
mongo MongoDB document databases ... 1989
mongo-express Web-based MongoDB admin int... 22
mvertes/alpine-mongo light MongoDB container 19
mongooseim/mongooseim-docker MongooseIM server the lates... 9
torusware/speedus-mongo Always updated official Mon... 9
jacksoncage/mongo Instant MongoDB sharded cluster 6
mongoclient/mongoclient Official docker image for M... 4
jadsonlourenco/mongo-rocks Percona Mongodb with Rocksd... 4
asteris/apache-php-mongo Apache2.4 + PHP + Mongo + m... 2
19hz/mongo-container Mongodb replicaset for coreos 1
nitra/mongo Mongo3 centos7 1
ackee/mongo MongoDB with fixed Bluemix p... 1
kobotoolbox/mongo https://github.com/kobotoolb... 1
valtlfelipe/mongo Docker Image based on the la... 1
安装
取最新版的 MongoDB 镜像
这里我们拉取官方的最新版本的镜像:
$ docker pull mongo:latest
查看本地镜像
$ docker images
运行容器
安装完成后,我们可以使用以下命令来运行 mongo 容器:
docker run -p 27017:27017 -v /home/mongo/data/db:/data/db --name my-mongo -d mongo --auth
参数说明:
-p 27017:27017
:映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。-v /home/mongo/data/db:/data/db
: 把一个宿主机上的目录/home/mongo/data/db
挂载到镜像/data/db
里--name my-mongo
:命名容器名称--auth
:需要密码才能访问容器服务。
查看运行信息
最后我们可以通过 docker ps
命令查看容器的运行信息
使用 MongoDB
接着使用以下命令添加用户和设置密码,并且尝试连接。
$ docker exec -it my-mongo mongo admin
my-mongo
是容器名称,这里也可以是容器ID
创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
尝试使用上面创建的用户信息进行连接。
> db.auth('root', '123456')
```## 查看可用的 MongoDB 版本
访问 MongoDB 镜像库地址: [https://hub.docker.com/_/mongo?tab=tags&page=1](https://hub.docker.com/_/mongo?tab=tags&page=1)。可以通过 Sort by 查看其他版本的 MongoDB,默认是最新版本 mongo:latest。

此外,我们还可以用 `docker search mongo` 命令来查看可用版本:
```bash
$ docker search mongo
NAME DESCRIPTION STARS
mongo MongoDB document databases ... 1989
mongo-express Web-based MongoDB admin int... 22
mvertes/alpine-mongo light MongoDB container 19
mongooseim/mongooseim-docker MongooseIM server the lates... 9
torusware/speedus-mongo Always updated official Mon... 9
jacksoncage/mongo Instant MongoDB sharded cluster 6
mongoclient/mongoclient Official docker image for M... 4
jadsonlourenco/mongo-rocks Percona Mongodb with Rocksd... 4
asteris/apache-php-mongo Apache2.4 + PHP + Mongo + m... 2
19hz/mongo-container Mongodb replicaset for coreos 1
nitra/mongo Mongo3 centos7 1
ackee/mongo MongoDB with fixed Bluemix p... 1
kobotoolbox/mongo https://github.com/kobotoolb... 1
valtlfelipe/mongo Docker Image based on the la... 1
安装
取最新版的 MongoDB 镜像
这里我们拉取官方的最新版本的镜像:
$ docker pull mongo:latest
查看本地镜像
$ docker images
运行容器
安装完成后,我们可以使用以下命令来运行 mongo 容器:
docker run -p 27017:27017 -v /home/mongo/data/db:/data/db --name my-mongo -d mongo --auth
参数说明:
-p 27017:27017
:映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。-v /home/mongo/data/db:/data/db
: 把一个宿主机上的目录/home/mongo/data/db
挂载到镜像/data/db
里--name my-mongo
:命名容器名称--auth
:需要密码才能访问容器服务。
查看运行信息
最后我们可以通过 docker ps
命令查看容器的运行信息
使用 MongoDB
接着使用以下命令添加用户和设置密码,并且尝试连接。
$ docker exec -it my-mongo mongo admin
my-mongo
是容器名称,这里也可以是容器ID
创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'root',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]});
尝试使用上面创建的用户信息进行连接。
> db.auth('root', '123456')
- 本文类型: 原创
- 本文出处:
- 版权说明: 本站内容均采用©BY-NC-SA许可协议,版权归作者和本站所有!欢迎转载,但未经作者同意必须在文章页面注明原文出处,否则保留追究法律责任的权利。