Docker 安装 MongoDB

MongoDB 是一个免费的开源跨平台面向文档的 NoSQL 数据库程序。

1、查看可用的 MongoDB 版本

访问 MongoDB 镜像库地址: https://hub.docker.com/_/mongo?tab=tags&page=1
可以通过 Sort by 查看其他版本的 MongoDB,默认是最新版本 mongo:latest
Docker-MongoDb - 图1
你也可以在下拉列表中找到其他你想要的版本:
Docker-MongoDb - 图2
此外,我们还可以用 docker search mongo 命令来查看可用版本:

$ docker search mongo

  1. NAME DESCRIPTION STARS OFFICIAL AUTOMATED
  2. mongo MongoDB document databases ... 1989 [OK]
  3. mongo-express Web-based MongoDB admin int... 22 [OK]
  4. mvertes/alpine-mongo light MongoDB container 19 [OK]
  5. mongooseim/mongooseim-docker MongooseIM server the lates... 9 [OK]
  6. torusware/speedus-mongo Always updated official Mon... 9 [OK]
  7. jacksoncage/mongo Instant MongoDB sharded cluster 6 [OK]
  8. mongoclient/mongoclient Official docker image for M... 4 [OK]
  9. jadsonlourenco/mongo-rocks Percona Mongodb with Rocksd... 4 [OK]
  10. asteris/apache-php-mongo Apache2.4 + PHP + Mongo + m... 2 [OK]
  11. 19hz/mongo-container Mongodb replicaset for coreos 1 [OK]
  12. nitra/mongo Mongo3 centos7 1 [OK]
  13. ackee/mongo MongoDB with fixed Bluemix p... 1 [OK]
  14. kobotoolbox/mongo https://github.com/kobotoolb... 1 [OK]
  15. valtlfelipe/mongo Docker Image based on the la... 1 [OK]

2、取最新版的 MongoDB 镜像

这里我们拉取官方的最新版本的镜像:

$ docker pull mongo:latest

Docker-MongoDb - 图3

3、查看本地镜像

使用以下命令来查看是否已安装了 mongo:

$ docker images

Docker-MongoDb - 图4
在上图中可以看到我们已经安装了最新版本(latest)的 mongo 镜像。

4、运行容器

安装完成后,我们可以使用以下命令来运行 mongo 容器:

$ docker run -itd —name mongo -p 27017:27017 mongo —auth

参数说明:

  • -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
  • —auth:需要密码才能访问容器服务。

Docker-MongoDb - 图5

5、安装成功

最后我们可以通过 docker ps 命令查看容器的运行信息:
Docker-MongoDb - 图6
接着使用以下命令添加用户和设置密码,并且尝试连接。

$ docker exec -it mongo mongo admin

创建一个名为 admin,密码为 123456 的用户。

db.createUser({ user:’admin’,pwd:’123456’,roles:[ { role:’userAdminAnyDatabase’, db: ‘admin’},”readWriteAnyDatabase”]});

尝试使用上面创建的用户信息进行连接。

db.auth(‘admin’, ‘123456’)

Docker-MongoDb - 图7

连接MongoDB

1. 使用 mongo 命令 使用 admin 做验证

mongo admin

2. 进入到 mongo 控制台,连接数据库

mongodb://admin:123456@127.0.0.1:27017/

mongodb://用户名:密码@地址:端口

3. 使用 db.auth 进行身份认证

db.auth(‘admin’,’123456’); db.auth(‘用户名’,’密码’); // 只能单引号

image.png