Docker Compose部署Mongodb教程-单机

目录

一、拉取Mongodb镜像

1.1 使用docker命令拉取Mongodb镜像

二、创建docker-compose.yml文件

2.1 创建mongodb目录

2.2 创建yml相关文件

三、编写配置文件

四、启动Mongodb

五、安全验证

5.1  开启安全验证

5.2 设置用户账号权限

5.3 验证权限 

 Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具,我们使用Docker Compose来部署mongodb更方便快捷,也更容易方便管理。

首先需要在目标机器上安装Docker和Docker Compose。如果你已经安装过了,可以跳过这一步。

一、拉取Mongodb镜像

1.1 使用docker命令拉取Mongodb镜像

我这里版本4.0.27为例:

docker pull mongo:4.0.27

如果镜像下载失败,可离线下载到mongodb的镜像包mongo_4.0.27.tar.gz,然后上传到部署的服务器中使用docker load -i <path/to/your/image.tar.gz>命令来加载镜像包

docker load -i mongo_4.0.27.tar.gz

完成之后可使用docker images 命令查看docker中的镜像包

二、创建docker-compose.yml文件

2.1 创建mongodb目录

cd /usr/local
mkdir mongodb

2.2 创建yml相关文件

在mongodb目录中创建docker-compose.yml文件,.env文件,data目录
touch docker-compose.yml
touch .env
mkdir data

三、编写配置文件

编辑.env文件(.env文件用于存放mongodb的版本号)

vi .env
输入以下内容保存
mongo_v=mo
### 使用 Docker Compose 部署 MongoDB 的最佳实践 #### 准备工作环境 为了确保顺利部署,建议先准备好必要的文件结构和配置。可以参照如下方式创建项目目录以及子目录用于存储数据、日志和配置文件: ```bash mkdir -p /opt/docker-data/mongodb/{data,log,config} chmod -R 777 /opt/docker-data/mongodb/ ``` 上述命令会创建三个主要的挂载点来保存持久化数据、日志记录及自定义配置[^3]。 #### 编写 `docker-compose.yml` 文件 编写一个合适的 `docker-compose.yml` 文件对于成功搭建 MongoDB 至关重要。下面是一个简单的单实例 MongoDB 设置例子: ```yaml version: '3' services: mongodb: image: mongo:latest container_name: mongodb_container environment: MONGO_INITDB_ROOT_USERNAME: adminUser MONGO_INITDB_ROOT_PASSWORD: examplePassword ports: - "27017:27017" volumes: - /opt/docker-data/mongodb/data:/data/db - /opt/docker-data/mongodb/log:/var/log/mongodb - /opt/docker-data/mongodb/config:/etc/mongoconf command: mongod --auth --bind_ip_all restart: always ``` 此配置指定了镜像版本、容器名称、初始化用户名密码等参数,并通过 `-v` 参数实现了主机与容器间的卷映射以便于数据持久化和管理[^2]。 #### 创建启动脚本 (可选) 虽然可以直接利用 `docker-compose up -d` 来启动服务,但如果希望进一步简化操作流程或加入额外逻辑处理(比如自动创建所需目录),则可以考虑准备一个 Bash 脚本来辅助完成这些任务。例如名为 `start_mongodb.sh` 的脚本可能看起来像这样: ```bash #!/bin/bash # 自动创建所需的本地路径 if [ ! -d "/opt/docker-data/mongodb/data" ]; then mkdir -p /opt/docker-data/mongodb/data && chmod -R 777 /opt/docker-data/mongodb/data fi if [ ! -d "/opt/docker-data/mongodb/log" ]; then mkdir -p /opt/docker-data/mongodb/log && chmod -R 777 /opt/docker-data/mongodb/log fi if [ ! -d "/opt/docker-data/mongodb/config" ]; then mkdir -R 777 /opt/docker-data/mongodb/config fi # 启动MongoDB服务 cd $(dirname $0) && docker-compose up -d ``` 这个脚本会在首次运行前检查并建立必要目录,之后调用 `docker-compose` 命令以守护进程模式启动应用[^4]。 #### 执行部署过程 当一切就绪后,在包含 `docker-compose.yml` 和其他资源文件的同一目录下执行以下指令即可快速启动 MongoDB 实例: ```bash sh start_mongodb.sh ``` 或者直接使用 `docker-compose` 工具链中的命令来进行控制: - **启动**:`docker-compose -f docker-compose.yml up -d` - **重启**:`docker-compose -f docker-compose.yml restart` - **停止**:`docker-compose -f docker-compose.yml stop` - **删除容器**:`docker-compose -f docker-compose.yml rm` 以上方法适用于大多数场景下的 MongoDB 单机版安装;而对于更复杂的多节点集群架构,则需按照官方文档调整相应的网络策略和服务发现机制[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值