Docker 安裝 MongoDB

MongoDB 是一個免費的開源跨平臺面向文件的 NoSQL 資料庫程式。

1、檢視可用的 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     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

在上圖中可以看到我們已經安裝了最新版本(latest)的 mongo 映象。

4、執行容器

安裝完成後,我們可以使用以下命令來執行 mongo 容器:

$ docker run -itd --name mongo -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')