MongoDB 是一个基于分布式文件存储的数据库。介于关系数据库和非关系数据库之间。
MongoDB 官方 image 仓库地址:https://hub.docker.com/_/mongo
image 标签和各自的 Dockerfile 链接:
docs/README.md at master · docker-library/docs (github.com)
安装 MongoDB
本文环境:
- Linux 发行版:Ubuntu Focal 20.04 (LTS)
- Docker version 20.10.11
- docker-compose version 1.29.2
拉取镜像:
# mongo:4.4.11-focal,基础镜像是 ubuntu:focal
docker pull mongo:4.4.11-focal
创建数据挂载目录:
# 创建数据库存放目录,可替换为你自己的路径
mkdir mongo_test
cd mongo_test
mkdir data # 用于挂载数据文件
mkdir backup # 用于挂载备份文件
启动容器(与后面的容器编排方式二选一即可,推荐用容器编排方式启动):
docker run --name mongo4411 \
-p 27017:27017 \
-v ${PWD}/data:/data/db \
-v ${PWD}/backup:/data/backup \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
-d mongo:4.4.11-focal --auth
--name
,容器的名称,自定义。-p
,映射容器端口到宿主机端口。-v
,挂载宿主机目录到容器内,如宿主机目录不存在则创建。/data/db
是数据库文件存放的地方。必须要挂载到容器外,否则容器重启一切数据消失。/etc/localtime
,让容器的时钟与宿主机同步,避免时区的问题,ro
是 read only 的意思,默认是rw
读写模式。
-d
,容器以守护进程方式运行。--auth
,需要密码才能访问数据库。(mongodb 默认无须身份验证)
查看容器状态:
docker ps -a
退出并删除容器:
docker stop mongo4411
docker rm mongo4411