Install MongoDB with Docker
Install MongoDB with Docker
- 从 Docker Hub 下载最新版的 MongoDB image
docker pull mongo
- 创建 /<some_path>/mongodb/docker-compose.yml 文件
version: '3.4'
services:
mongodb:
image: mongo
container_name: mongodb
ports:
- 27017-27019:27017-27019
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: 123456
TZ: Asia/Shanghai
上述命令中,
MONGO_INITDB_ROOT_USERNAME
和MONGO_INITDB_ROOT_PASSWORD
环境变量用于设定在认证数据库(admin)中创建的用户名和密码, 该用户将拥有root
角色. 同时mongo
将以access control
状态启动,即默认会增加--auth
参数。
TZ: Asia/Shanghai
: 设置时区为中国北京时间,以便于后续数据库日期字段能够正确的设置,否则将使用 UTC+0 作为标准时间
- 启动数据库
docker-compose up -d
mongo
镜像生成的容器会自动创建两个匿名卷标(volume), 分别挂载到容器的 /data/db 和 /data/configdb, 可以使用docker inspect -f '{{json .Mounts}}' mongodb
去查看. 因此无需担心数据库的文件和配置会被写入容器中.
可以使用docker run --rm --volumes-from mongodb mongo ls /data/configdb
和docker run --rm --volumes-from mongodb mongo ls /data/db
确认卷标已被挂载
- 停止数据库
docker-compose stop
- 重启数据库
docker-compose start
- 删除数据库及容器
docker-compose down
注意这个命令会删除容器-container, 卷标-volume 和网络-network