万物皆容器,数据库也不例外。 本篇文章主要记录使用
Docker
安装MongoDB
的过程。
docker首页:https://hub.docker.com/_/mongo
命令行页面,执行以下命令
bash# 查找名称是mongo的镜像,可以看到一个镜像列表,一般第一个是我们需要的
docker search mongo
# 拉取列表中第一个mongo镜像,版本号缺省时默认是`latest`
docker pull mongo
shellPS 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
共有以下三类配置:
Ports
:截图中为本地27017
映射到容器27017
Volumes
:截图中为本地目录E:/mongo/data
映射到容器目录/data/db
Environment variables
:包括时区TZ
、mongo的root用户名MONGO_INITDB_ROOT_USERNAME
、mongo的root用户密码MONGO_INITDB_ROOT_PASSWORD
,如下图注意保存帐号密码哦!
新建一个文件夹,如 Windows
可在新建 E:/docker/mongo
文件夹,然后在该文件夹中创建 docker-compose.yaml
文件,并填充以下内容(注意修改相关信息):
yamlversion: "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
窗口,执行以下命令:
bash# 后台运行docker-compose
docker-compose up -d
如果一切正常,你可以得到一个 MongoDB
服务。使用 docker-compose.yaml
文件中配置的端口和帐号密码即可连接
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!