Docker 安装 MongoDB
MongoDB 是一个开源的基于分布式文件存储的 NoSQL 数据库。
MongoDB 使用 C++ 语言编写,具有高可靠、高性能等特点,为 WEB 应用提供了可扩展的高性能数据存储解决方案。
Docker Hub 提供了各个版本的 MongoDB Docker 官方镜像。我们可以根据自己的需求选择下载。
1. 查看可用的 MongoDB 版本
访问 MongoDB 镜像库地址:https://hub.docker.com/_/mongo。
可以通过 Sort by 查看其他版本的 MongoDB,默认是最新版本 mongo:latest。
你也可以在下拉列表中找到其他你想要的版本:
此外,我们还可以用 docker search mongo 命令来查看可用版本:
$ docker search mongo NAME DESCRIPTION STARS OFFICIAL AUTOMATED mongo MongoDB document databases ... 1989 [OK] mongo-express Web-based MongoDB admin int... 22 [OK] mvertes/alpine-mongo light MongoDB container 19 [OK] mongooseim/mongooseim-docker MongooseIM server the lates... 9 [OK] torusware/speedus-mongo Always updated official Mon... 9 [OK] jacksoncage/mongo Instant MongoDB sharded cluster 6 [OK] mongoclient/mongoclient Official docker image for M... 4 [OK] jadsonlourenco/mongo-rocks Percona Mongodb with Rocksd... 4 [OK] asteris/apache-php-mongo Apache2.4 + PHP + Mongo + m... 2 [OK] 19hz/mongo-container Mongodb replicaset for coreos 1 [OK] nitra/mongo Mongo3 centos7 1 [OK] ackee/mongo MongoDB with fixed Bluemix p... 1 [OK] kobotoolbox/mongo https://github.com/kobotoolb... 1 [OK] valtlfelipe/mongo Docker Image based on the la... 1 [OK]
2. 拉取指定版本的 MongoDB 镜像
我们这里选择安装官方的最新版本:
$ docker pull mongo:latest
3. 查看本地镜像
使用以下命令来查看是否已安装了 mongo
$ docker images
可以看到我们已经安装了最新版本的 mongo 镜像。
4. 运行 MongoDB 容器
安装完成后,我们可以使用以下命令来运行 mongo 容器:
$ docker run -itd --name mongo -p 27017:27017 mongo --auth
参数说明:
- -p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
- --auth:需要密码才能访问容器服务。
5. 查看 MongoDB 容器运行情况
最后我们可以通过 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')
下一章:Docker 安装 Apache
Apache 是 Apache 软件基金会的一个开源的 Web 服务器软件。由于其跨平台和安全性而被广泛使用,是最流行的 Web 服务器软件之一。< Docker Hub 提供了各个版本的 CentOS Apache 官方镜像,Apache 官方镜像名称为 httpd。本文介绍如何使用 Docker 安装 httpd。