前言
万物皆容器,数据库也不例外。 本篇文章主要记录使用Docker安装MongoDB的过程。
docker首页:https://hub.docker.com/_/mongo
手动安装
下载镜像
寻找并获取镜像
命令行页面,执行以下命令
# 查找名称是mongo的镜像,可以看到一个镜像列表,一般第一个是我们需要的
docker search mongo
# 拉取列表中第一个mongo镜像,版本号缺省时默认是`latest`
docker pull mongo命令运行如下,仅供参考
PS E:\code\DingDangDog_sapce\ddd-cashbook\server> docker search mongo
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mongo MongoDB document databases provide high avai… 9319 [OK]
mongo-express Web-based MongoDB admin interface, written w… 1257 [OK]
bitnami/mongodb Bitnami MongoDB Docker Image 202 [OK]
rapidfort/mongodb RapidFort optimized, hardened image for Mong… 15
circleci/mongo CircleCI images for MongoDB 12 [OK]
bitnami/mongodb-exporter 9
bitnami/mongodb-sharded 9
percona/mongodb_exporter A Prometheus exporter for MongoDB including … 3
rapidfort/mongodb-official RapidFort optimized, hardened image for Mong… 1
litmuschaos/mongo 1
ibmcom/mongodb 1
mongodb/mongodb-atlas-kubernetes-operator 1
ibmcom/mongodb-ppc64le 1
rapidfort/mongodb-perfomance-test 0
rancher/mongodb-config 0
mongodb/mongodb-atlas-kubernetes-operator-prerelease This is a MongoDB Atlas Operator image built… 0
corpusops/mongo https://github.com/corpusops/docker-images/ 0
ibmcom/mongo-c-driver-ppc64le Docker image for mongo-c-driver-ppc64leDocke… 0
ibmcom/mongo-java-driver-ppc64le Docker image for mongo-java-driver-ppc64le 0
litmuschaos/mongo-utils 0
ibmcom/mongodb-s390x 0
drud/mongodb Mongodb 0 [OK]
ibmcom/mongodb-amd64 0
formio/mongotest 0
PS E:\code\DingDangDog_sapce\ddd-cashbook\server> docker pull mongo
Using default tag: latest
latest: Pulling from library/mongo
846c0b181fff: Pull complete
ef773e84b43a: Pull complete
2bfad1efb664: Pull complete
84e59a6d63c9: Pull complete
d2f00ac700e0: Pull complete
96d33bf42f45: Pull complete
ebaa69d77b61: Pull complete
aa77b709a7d6: Pull complete
245bd0c9ace2: Pull complete
Digest: sha256:f1b5a4e2acc7db563457f41443103a2d48d1ee5a13332734f82222aa719e2542
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest
启动mongo容器
Windows配置截图
共有以下三类配置:
1、端口Ports:截图中为本地27017映射到容器27017
2、数据卷Volumes:截图中为本地目录E:/mongo/data映射到容器目录/data/db 环境参数Environment variables:包括时区TZ、mongo的root用户名MONGO_INITDB_ROOT_USERNAME、mongo的root用户密码MONGO_INITDB_ROOT_PASSWORD,如下图

docker-compose自动安装
创建配置文件
新建一个文件夹,如 Windows 可在新建 E:/docker/mongo 文件夹,然后在该文件夹中创建 docker-compose.yaml文件,并填充以下内容(注意修改相关信息):
version: "3"
# mongo
services:
mongo:
# mongo版本号
image: mongo:4.4.16
# 跟随docker服务器启动
restart: always
# 环境变量
environment:
TZ: "Asia/Shanghai"
# mongo帐号
MONGO_INITDB_ROOT_USERNAME: mongo
# mongo密码,建议修改!
MONGO_INITDB_ROOT_PASSWORD: mongo_password
volumes:
# mongoDB 数据存放地址,默认是我开发机配置,请按需修改。
- E:/docker/mongo/data/:/data/db
# 如需禁止外部访问数据库,请将下面两行删除
ports:
- 27017:27017
启动容器
保存 yaml 文件后,在当前文件夹打开 PowerShell或CMD窗口,执行以下命令:
后台运行docker-compose
docker-compose up -d
如果一切正常,你可以得到一个 MongoDB 服务。使用 docker-compose.yaml 文件中配置的端口和帐号密码即可连接