Docker 安装 MongoDB 主要有 2 种方法,分别是直接通过 docker 命令安装或通过 Dockerfile 构建。MongoDB 相关的 docker 镜像所有版本可以查看镜像库的 MongoDB tags,官方地址为 https://hub.docker.com/_/mongo?tab=tags。
方式一:docker pull mongo
关键字搜索相关镜像
首先通过 mongo 关键字查询当前镜像库的所有 mongo 相关的镜像,使用 docker search 命令,具体示例如下:
knowledgedict@Mac ~ $ docker search mongo
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mongo MongoDB document databases provide high av... 7081 [OK]
mongo-express Web-based MongoDB admin interface, written... 744 [OK]
tutum/mongodb MongoDB Docker image – listens in port 270... 229 [OK]
bitnami/mongodb Bitnami MongoDB Docker Image 124 [OK]
mongoclient/mongoclient Official docker image for Mongoclient, fea... 86 [OK]
mongooseim/mongooseim Small docker image for MongooseIM - robust... 19
frodenas/mongodb A Docker Image for MongoDB 18 [OK]
cvallance/mongo-k8s-sidecar Kubernetes side car to setup and maintain ... 16 [OK]
arm64v8/mongo MongoDB document databases provide high av... 9
centos/mongodb-32-centos7 MongoDB NoSQL database server 8
circleci/mongo CircleCI images for MongoDB 8 [OK]
webhippie/mongodb Docker images for MongoDB 7 [OK]
istepanov/mongodump Docker image with mongodump running as a c... 6 [OK]
centos/mongodb-36-centos7 MongoDB NoSQL database server 5
centos/mongodb-26-centos7 MongoDB NoSQL database server 5
neowaylabs/mongodb-mms-agent This Docker image with MongoDB Monitoring ... 4 [OK]
eses/mongodb_exporter mongodb exporter for prometheus 4 [OK]
requilence/mongodb-backup mongo backup container 4 [OK]
centos/mongodb-34-centos7 MongoDB NoSQL database server 3
andreasleicher/mongo-azure-backup a docker container to backup a mongodb usi... 2 [OK]
openshift/mongodb-24-centos7 DEPRECATED: A Centos7 based MongoDB v2.4 i... 1
ansibleplaybookbundle/mongodb-apb An APB to deploy MongoDB. 1 [OK]
ekesken/mongo docker image for mongo that is configurabl... 1 [OK]
phenompeople/mongodb MongoDB is an open-source, document datab... 0 [OK]
martel/mongo-replica-ctrl A dockerized controller for a Mongo db rep... 0 [OK]
拉取指定版本的镜像
从镜像库拉取镜像用 docker pull 命令。
knowledgedict@Mac ~ $ docker pull mongo:4.4.0
4.4.0: Pulling from library/mongo
7595c8c21622: Pull complete
d13af8ca898f: Pull complete
70799171ddba: Pull complete
b6c12202c5ef: Pull complete
f8718c532d71: Pull complete
9035443a91bc: Pull complete
93ca553166d9: Pull complete
bc866a5c284c: Pull complete
6faca936e7b3: Pull complete
1dc2a767b81f: Pull complete
56dee77e3145: Pull complete
b967fd908de0: Pull complete
7cd9ac470a46: Pull complete
Digest: sha256:f8c327278bd1a37a5900b2e1ac529221ade80eb54e818e0c3bf04804094c7729
Status: Downloaded newer image for mongo:4.4.0
下载完成后,可以在本地的镜像列表查看相关信息,如下:
knowledgedict@Mac ~ $ docker images mongo
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo 4.4.0 aa22d67221a0 8 days ago 493 MB
运行容器
运行容器使用 docker run 命令,具体如下:
knowledgedict@Mac ~ $ docker run -itd --name mongo-demo -p 27017:27017 mongo:4.4.0
392ccb4d83e7a0406f56261286f03b1c626cc588ab16625cfd4b6ee513675364
启动后,查看相应容器运行信息:
knowledgedict@Mac ~ $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
392ccb4d83e7 mongo:4.4.0 "docker-entrypoint..." 40 minutes ago Up 22 seconds 0.0.0.0:27017->27017/tcp mongo-demo