一、说明
安装环境:Linux CentOS 8、Docker
安装版本:mongo:latest
二、安装步骤
1、查找mongo镜像
官方镜像:https://hub.docker.com/_/mongo/tags
2、拉取mongo镜像
命令 | 描述 |
---|---|
docker pull mongo:latest | 拉取最新版本mongo镜像 |
docker pull mongo:xxxx | 拉取指定版本mongo镜像 |
docker images #查看mongo镜像是否拉取成功
3、拷贝配置文件
3.1 运行mongo容器,测试镜像是否可用,后面的步骤会复制该容器的配置文件
docker run --name test-mongo -p 27017:27017 -d mongo #运行测试容器
docker ps # 查看容器运行是否成功
进入容器内部
docker exec -it test-mongo /bin/bash
说明:
容器内mongo配置文件目录:/etc/mongo
容器内mongo数据文件目录:/data/db
容器内mongo日志文件目录:/var/log/mongodb
3.2 将容器内mongo的配置文件挂载到宿主机
创建管理目录,将mongo配置文件、数据文件、日志文件拷贝至管理目录下
mkdir -p /opt/mongo
docker cp test-mongo:/etc/mongo/ /opt/mongo/conf
docker cp test-mongo:/data/db/ /opt/mongo/data
docker cp test-mongo:/var/log/mongodb/ /opt/mongo/logs
3.3 删除测试容器
docker stop test-mongo # 停止容器
docker rm test-mongo # 删除容器
4 创建并运行容器
docker run -d \
--name my-mongo \
-p 27017:27017 \
--restart=always \
--privileged=true \
-v /etc/localtime:/etc/localtime:ro \
-v /opt/mongo/conf:/etc/mongo \
-v /opt/mongo/data:/data/db \
-v /opt/mongo/logs:/var/log/mongodb \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=admin \
mongo --auth
命令 | 说明 |
---|---|
docker run | 创建并运行容器 |
-d | 后台运行 |
–name my-mongo | 设置容器名称为 my-mongo |
-p 27017:27017 | 端口映射,-p 主机端口:容器端口 |
–restart=always | docker启动,自动重启容器,失败会一直重启 |
–privileged=true | 开启容器数据卷的读写权限,使container内的root拥有真正的root权限 |
-v /etc/localtime:/etc/localtime:ro | 同步docker容器与主机系统时间(挂入/etc/localtime):ro 只读权限 |
-v /opt/mongo/conf:/etc/mongo | 配置文件目录挂载,-v /宿主机目录:/容器内目录 |
-v /opt/mongo/data:/data/db | 数据文件目录挂载,-v /宿主机目录:/容器内目录 |
-v /opt/mongo/logs:/var/log/mongodb | 日志文件目录挂载,-v /宿主机目录:/容器内目录 |
-e MONGO_INITDB_ROOT_USERNAME=admin | 登录用户名 |
-e MONGO_INITDB_ROOT_PASSWORD=admin | 登录密码 |
mongo | mongo 镜像名称(默认latest版本) |
–auth | 需要验证密码登录 |
5 查看容器是否启动成功
docker ps #查询MongoDB容器是否启动成功