Docker Compose部署Mongodb教程-单机

这篇具有很好参考价值的文章主要介绍了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 mongodb,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=mongo:4.0.27

编辑docker-compose.yml

version: '2.1'
services:
  secondary:
     image: ${mongo_v} #镜像版本号
     container_name: master #镜像名称可自己定义
     restart: always
     ports:
       - "0.0.0.0:27017:27017"
     volumes:
       - ./data:/data/db #数据目录挂载路径
      command: mongod --dbpath /data/db --oplogSize 128 #mongodb基本配置,如需安全验证则在这里加 --auth表示登录mongo需要账号密码

四、启动Mongodb

需进入到docker-compose.yml的目录使用命令docker-compose up -d 启动

cd /usr/local/mongodb
docker-compose up -d

查看docker进程

docker ps 或 docker ps -a

docker compose mongodb,docker,容器,运维

查看docker启动Mongodb进程日志

使用命令docker logs -f 镜像ID 或 镜像名称 (查看指定200行日志 docker logs --tail 200 镜像ID 或 镜像名称)

docker logs -f master
docker logs --tail 200 master
master为yml中container_name:<name>值

进入moongo,使用docker exec -it <镜像ID或镜像名称> mongo

docker exec -it master mongo

docker compose mongodb,docker,容器,运维

五、安全验证

5.1  开启安全验证

在docker-compose.yml中配置安全验证在yml中  command: mongod --dbpath /data/db --oplogSize 128 后面加上--auth


version: '2.1'
services:
  secondary:
     image: ${mongo_v} #镜像版本号
     container_name: master #镜像名称可自己定义
     restart: always
     ports:
       - "0.0.0.0:27017:27017"
     volumes:
       - ./data:/data/db #数据目录挂载路径
      command: mongod --dbpath /data/db --oplogSize 128 --auth

5.2 设置用户账号权限

可参考官方文档:What is MongoDB? — MongoDB Manual

连接到mongo之后
use test使用test集合
#创建test用户账号密码
db.createUser({
    user:"admin_test", #设置账号
    pwd:"test123456", #设置密码
    roles:[  #权限设置 
        {role:"readWrite",db:"test"},
         {role:"userAdmin",db:"test"}
    ]
})

role:[
不受访问限制的超级用户: root
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、4. clusterMonitor、hostManage;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色:__system
]]
read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
2、查看用户权限
db.system.users.find().pretty()
db.getUsers();
3、删除用户权限
db.dropUser('admin_test')
更新用户的密码
db.changeUserPassword(用户名、密码)
4.查看所有数据库
>show dbs;
>db.user.getDB()

5.3 验证权限 

在mongodb容器中使用db.auth("账号","密码")执行返回结果为1表示验证成功,否则失败文章来源地址https://www.toymoban.com/news/detail-854723.html

db.auth("admin_test","test123456")

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

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

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

相关文章

  • Docker部署RocketMQ5.x (单机部署+配置参数详解+不使用docker-compose直接部署)

    官网地址:https://rocketmq.apache.org/ 镜像地址: https://hub.docker.com/r/apache/rocketmq/tags 我在部署的时候最新发行版是5.1.0可以根据需求自行选择一个5.x的版本,部署流程不会有太大改变。 NameServer是一个简单的 Topic 路由注册中心,支持 Topic、Broker 的动态注册与发现,几乎无状态节点

    2024年02月06日
    浏览(60)
  • docker-compose快速部署elasticsearch-8.x(单机版)

    环境信息 以下是本次实战的环境信息,可以作为参考 操作系统:Centos8 ElasticSearch:8.4.2 Linux环境设置(官方推荐)  配置 vm.max_map_count  不能低于  262144 查看是否配置  vm.max_map_count  setting 打开文件/etc/sysctl.conf在尾部添加一行配置vm.max_map_count = 262144修改保存, 然后执行命令

    2024年02月12日
    浏览(26)
  • 使用docker-compose部署RocketMQ5.x 单机部署+配置参数详解

    提前先拉取需要的镜像文件,避免后面部署的时候出现镜像拉取失败的问题。 镜像地址: https://hub.docker.com/r/apache/rocketmq/tags 我在部署的时候最新发行版是5.1.0可以根据需求自行选择一个5.x的版本,部署流程不会有太大改变。 拉取最新版即可 这里使用compose v2版本 1、下载(使

    2024年02月08日
    浏览(38)
  • ElasticSearch第一讲 Docker-compose 单机部署Elasticsearch kibana esHead与配置认证证书设置密码

    docker安装 docker-compose安装配置,如果还有没安装docker的可以参考我的docker/docker-compose安装配置 本次讲解的是安装ES 7.13.3 现在目前官网给出的最新ES版本已经是8.x了,ElasticSearch官网:https://www.elastic.co/guide/index.html 好了长话短说,我们直接上docker配置文件,对于一些配置文件和数

    2024年02月03日
    浏览(35)
  • Docker-Compose部署ELK教程

    1. 环境 Ubuntu 20以上 Docker version 20以上 Docker-Compose version 1.25以上 安装Docker和Docker-Compose教程 2. 部署elasticsearch 2.1.创建elasticsearch.yml文件 vim elasticsearch.yml 2.2. 创建elasticsearch的docker-compose.yml文件 vim docker-compose.yml 2.3. 启动elasticsearch 3. 部署kibana和logstash 3.1. 创建kibana.yml文件 vim ki

    2023年04月08日
    浏览(33)
  • docker部署(使用docker-compose)手把手教程

    docker-compose.yml 文件内容  安装成功后,运行 docker ps 出现如下报错  表示未启动docker,运行下列语句即可 安装完成后,运行 赋予权限即可 在服务器上单独新建文件夹名为ruoyi-admin dockerfile文件如下  执行如下命令 这就构建出本地的镜像了。   依次再构建出ruoyi/ruoyi-xxl-job-adm

    2024年02月01日
    浏览(35)
  • Docker——compose单机容器集群编排

    Docker-compose是一个基于Docker的容器编排工具。它使用一个YAML文件来定义和配置多个容器的集群。通过使用Docker-compose,我们可以轻松地定义、配置和协同运行多个Docker容器,而无需手动管理它们的启动和通信。 1.为何需要Docker-compose 在现代应用程序开发中,容器化技术已经成

    2024年02月16日
    浏览(36)
  • Centos 7 部署Docker CE和docker-compose教程

    ①、安装依赖包 ②、设置yum源 ③、生成并更新系统中的软件包缓存 ④、安装、启动、并设置Docker开机自启 Docker 启动命令 Docker 容器命令 Docker 镜像命令 可选。Docker 官方提供的默认镜像源位于海外,可能下载会很慢,可以通过配置国内的镜像源,加速下载。 ①、使用文本编

    2024年02月07日
    浏览(35)
  • 通过 docker-compose 快速部署 Hive 详细教程

    其实通过 docker-compose 部署 hive 是在继上篇文章 Hadoop 部署的基础之上叠加的,Hive 做为最常用的数仓服务,所以是有必要进行集成的,感兴趣的小伙伴请认真阅读我以下内容,通过 docker-compose 部署的服务主要是用最少的资源和时间成本快速部署服务,方便小伙伴学习、测试、

    2024年02月09日
    浏览(35)
  • 通过 docker-compose 快速部署 MySQL保姆级教程

    MySQL 是一种开源的关系型数据库管理系统( RDBMS ),以其快速、可靠和易于使用而受到广泛的欢迎。 MySQL 使用 SQL (结构化查询语言)进行查询、管理和操作数据。 MySQL 是一种跨平台的数据库,支持在各种操作系统(如 Windows、Linux、MacOS 等)上运行。 MySQL 中的重要概念包括

    2024年02月04日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包