使用 docker 一键部署 MongoDB

这篇具有很好参考价值的文章主要介绍了使用 docker 一键部署 MongoDB。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1. 前期准备

2. 导入镜像

3. 部署MongoDB脚本

4. 配置模板文件

5. 部署MongoDB

6. 部署后配置

7. 基本维护


1. 前期准备

新部署前可以从仓库(repository)下载 MongoDB 镜像,或者从已有部署中的镜像生成文件:

# 查看当前本地镜像
docker images
# 生成本地镜像文件
docker save <IMAGE ID> -o mongodb_3015.tar

生成 MongoDB 副本集所需的 autokey 文件:

# 建立autokey文件
openssl rand -base64 756 > autokey
# 修改读写模式
chmod 400 autokey

2. 导入镜像

# 在新部署的机器上导入镜像
docker load -i mongodb_3015.tar
docker images

3. 部署MongoDB脚本

mongodb-deploy.sh 文件内容如下:

#!/bin/bash

mkdir -p /usr/local/docker/mongodb/conf
mkdir -p /usr/local/docker/mongodb/data
cp /root/autokey /usr/local/docker/mongodb/data/
cp /root/mongodb.conf.template /usr/local/docker/mongodb/conf/mongodb.conf
chown -R polkitd:root /usr/local/docker/mongodb/

docker run --name mongo \
-v /usr/local/docker/mongodb/data:/data/db \
-v /usr/local/docker/mongodb/conf:/data/conf \
-p 27017:27017 \
-e TZ=Asia/Shanghai \
-itd a.com:8443/dockerhub/mongo:3.0.15 \
--replSet mvbox_new

4. 配置模板文件

mongodb.conf.template 文件内容如下:

port            = 27017
logpath         = /data/db/mongodb.log
pidfilepath     = /data/db/mongodb.pid
dbpath          = /data/db/
logappend       = true
fork            = true
journal         = true
directoryperdb  = true
auth            = true
maxConns        = 1000
profile         = 1
replSet         = mvbox_new
keyFile         = /data/db/autokey

5. 部署MongoDB

# 在所有 MongoDB 副本集机器执行
./mongodb-deploy.sh

6. 部署后配置

在 primary 机器上执行下面的操作。

# 配置副本集
cp /root/rs_initiate.js /usr/local/docker/mongodb/data/
docker exec -it mongo mongo --port 27017 /data/db/rs_initiate.js

rs_initiate.js 文件内容如下:文章来源地址https://www.toymoban.com/news/detail-619858.html

rs.initiate(
   {
      _id: "mvbox_new",
      version: 1,
      members: [
         { _id: 0, host : "172.18.29.56:27017", priority:2 },
         { _id: 1, host : "172.18.29.57:27017", priority:1 },
         { _id: 2, host : "172.18.29.58:27017", priority:1 }
      ]
   }
)
# 创建 admin 用户
docker exec -it mongo mongo --port 27017

use admin;
db.createUser({user : "admin", pwd : "123456", roles: [ { role : "root", db : "admin" } ] });
exit;

# 重新登录,创建更多用户
docker exec -it mongo mongo --port 27017 -u admin -p 123456 admin

use admin
db.createUser({user : "vvmusic_msg", pwd : "123456", roles: [ { role : "dbOwner", db : "vvmusic_msg" } ] });
db.createUser({user : "vvlive", pwd : "123456", roles: [ { role : "dbOwner", db : "vvlive" } ] });
use vvmusic_msg
db.createUser({user : "vvmusic_msg", pwd : "123456", roles: [ { role : "dbOwner", db : "vvmusic_msg" } ] });
use vvlive
db.createUser({user : "vvlive", pwd : "3123456", roles: [ { role : "dbOwner", db : "vvlive" } ] });
exit;

# 验证用户登录
docker exec -it mongo mongo --port 27017 -u admin -p 123456 admin
docker exec -it mongo mongo --port 27017 -u vvlive -p 123456 admin
docker exec -it mongo mongo --port 27017 -u vvlive -p 123456 vvlive
docker exec -it mongo mongo --port 27017 -u vvmusic_msg -p 123456 admin
docker exec -it mongo mongo --port 27017 -u vvmusic_msg -p 123456 vvmusic_msg

7. 基本维护

# 查看镜像
docker images
# 查看容器
docker ps
# 查看容器详细信息
docker inspect <CONTAINER ID>
# 重启容器
docker restart mongo
# 停止容器
docker stop mongo
# 删除容器
docker rm mongo

到了这里,关于使用 docker 一键部署 MongoDB的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker 部署 MongoDB

    以 5.0.14 版本为主 创建文件 宿主机文件夹目录 ~/data/mongodb/{db,config} ~ 表示当前用户自己的home目录 新增 配置文件 mongo配置文件内容如下 参考官方文档,主要配置参数 bindIp: 0.0.0.0 参数解释 : –restart=always 在重启docker时,自动启动容器 -v 后面的参数表示把数据文件挂载到宿主

    2024年02月09日
    浏览(71)
  • docker compose部署MongoDB教程

    在本教程中,我们将使用Docker Compose来部署MongoDB数据库,包括配置时区、数据库名、端口、用户密码等信息,同时挂载数据、日志、配置文件等相关路径到宿主机,以方便管理。 首先需要在目标机器上安装Docker和Docker Compose。如果你已经安装过了,可以跳过这一步。 请参考

    2024年02月16日
    浏览(36)
  • Docker 部署 MongoDB 数据库

    https://www.mongodb.com/zh-cn 缩主机上创建 mongo/configdb/mongod.conf https://hub.docker.com/_/mongo 指定服务执行器与缓存大小 https://hub.docker.com/_/mongo-express 查看默认登录账号密码 注意: 默认登录账号密码是 admin/pass ,docker配置中已经将登录账号密码设置为 admin/123456 http://localhost:8081/ http:/

    2024年04月27日
    浏览(32)
  • Docker部署MongoDB 5.0.5

    1、查看目录 2、配置docker-compose.yml 3、配置mongod.conf 4、配置mongo 创建用户: 5、查看结果 这里使用的MongoDB Compass进行连接 6、更新 创建一个wielun库 7、删除 8、通过eval创建数据库 Docker容器中执行

    2024年02月11日
    浏览(28)
  • 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 是一个用于定义和运行多容器 Dock

    2024年04月17日
    浏览(34)
  • [Docker]四.Docker部署nodejs项目,部署Mysql,部署Redis,部署Mongodb

    可以到 https://hub.docker.com/ 去搜索node镜像 , 然后下载,也可以直接通过docker pull node下载镜像,然后用这个node镜像启动容器node,这样系统就集成了node服务了,在这里挂载www/node目录到容器中,并指定端口映射,运行nodejs程序,安装npm,以及对应的依赖,启动node目录下对应的项目,然后通过浏

    2024年02月06日
    浏览(58)
  • yapi容器化docker部署以及mongodb容器的持久化挂载异常问题

    通过docker形式部署yapi,需要准备一个mongodb,然后直接在一个空文件夹里写好Dockerfile,其中通过wget下载yapi的zip包。 基本按照这篇文章:https://www.modb.pro/db/149666 来处理即可 把mongodb的docker 跑起来, --auth 表示需要密码才能访问 注意 原文中启动mongo的容器是这样的 首先创建Mon

    2024年02月14日
    浏览(51)
  • AWS EC2 docker-compose部署MongoDB4.2

    环境准备 安装docker 参考EC2官方文档:创建容器镜像以在 Amazon ECS 上使用 - Amazon Elastic Container Service 安装docker-compose MongoDB使用keyfile认证,副本集中的每个mongod实例使用keyfile内容作为认证其他成员的共享密码。mongod实例只有拥有正确的keyfile才可以加入副本集。 keyFile的内容必

    2024年02月11日
    浏览(35)
  • 使用docker搭建mongodb

    使用 Docker CLI 搭建 MongoDB 1. 运行 MongoDB 容器 首先,我们使用以下命令来启动一个 MongoDB 容器: 参数解释: -itd : 这三个参数通常一起使用, i 表示交互式模式, t 分配一个伪终端, d 表示后台运行。 --name mongodb_comm : 为容器指定一个名字 mongodb_comm ,方便后续的操作和管理。

    2024年03月18日
    浏览(75)
  • docker安装mongoDB及使用

    1.mongo的体系结构 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins 表连接,MongoDB不支持 primary key primary key 主键,MongoDB自动将_id字段设置为主键 2. mongoDB的特点(或使

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包