Docker:基于Docker对中间件进行配置、安装和使用操作合集

news2024/11/28 4:41:41

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、rabbitmq
    • 启动rabbitmq
    • 设置rabbitmq用户
        • 进入rabbitmq容器内部
        • 设置外界访问用户
  • 二、mongodb
    • 安装mongo
    • 启动mongodb
    • 配置及使用mongodb
  • 三、Redis
    • 1.安装redis
    • 2.启动及配置redis
    • 3.使用redis
  • 四、Nacos
    • 1.安装Nacos
    • 2.启动Nacos
    • 3.使用Nacos
  • 五、Minio
    • 1.安装Minio
    • 2.配置Minio
    • 3.启动Minio
        • 多行模式
        • 单行模式
    • 4.使用Minio
  • 总结


前言

Docker是一个十分好用的工具,他可以让我们使用别人搭建好的环境快速上手中间件的使用,本文记录Docker对中间件进行操作的命令,涉及到中间件内容具体如下

  • rabbitmq
  • mongodb
  • redis
  • minio
  • nacos

一、rabbitmq

启动rabbitmq

docker run -d --hostname localhost --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management

设置rabbitmq用户

进入rabbitmq容器内部

docker exec -i -t [rabbitmq容器id] bin/bash

设置外界访问用户

创建用户

rabbitmqctl add_user root 123456

对用户设置访问权限

rabbitmqctl set_permissions -p / root ".*" ".*" ".*"```

为创建的用户设置超级管理员角色

rabbitmqctl set_user_tags root administrator

查看rabbitmq中所有用户

rabbitmqctl list_users

退出rabbitmq容器内部

exit

二、mongodb

安装mongo

docker pull mongo

启动mongodb

docker run --name mongodb -p 27017:27017 -d mongo --auth

配置及使用mongodb

以admin用户进入容器

docker exec -it 51a5b5e05fe4 mongo admin

创建admin用户账号

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

退出mongo

exit

再次进入mongo容器
mongo 5.0版本以下可以使用的命令:

docker exec -it [容器id]  mongo admin

mongo 5.0版本以上可以使用的命令:

docker exec -it [容器id]  mongosh admin

进行身份验证

db.auth("root","root");

navicat连接mongodb进行数据测试

在这里插入图片描述
注意:如果是远程连接服务器,记得在服务器的防火墙添加相关端口开放规则

三、Redis

1.安装redis

docker pull redis

2.启动及配置redis

使用Docker对redis进行操作,要先在相关目录下创建redis的配置文件,原因如下

启动前需要先创建Redis外部挂载的配置文件 ( /home/redis/conf/redis.conf )
之所以要先创建 , 是因为Redis本身容器只存在 /etc/redis 目录 , 本身就不创建 redis.conf 文件
当服务器和容器都不存在 redis.conf 文件时, 执行启动命令的时候 docker 会将 redis.conf 作为目录创建 , 这并不是我们想要的结果 。

## 创建目录
mkdir -p /home/redis/conf
## 创建文件
touch /home/redis/conf/redis.conf

启动redis命令

docker run \
-d \
--name redis \
-p 6379:6379 \
--restart unless-stopped \
-v /home/redis/data:/data \
-v /home/redis/conf/redis.conf:/etc/redis/redis.conf \
redis-server /etc/redis/redis.conf \
redis:bullseye 

在这里插入图片描述

查看redis是否运行

### 查看Docker运行中的容器
docker ps 
docker ps | grep redis

查看redis日志

docker logs redis

修改redis配置文件

vim /home/redis/conf/redis.conf

相关属性
在这里插入图片描述

3.使用redis

进入redis容器

### 通过 Docker 命令进入 Redis 容器内部
docker exec -it redis /bin/bash
docker exec -it redis bash
### 进入 Redis 控制台
redis-cli
### 添加一个变量为 key 为 name , value 为 bella 的内容
> set name bella
### 查看 key 为 name 的 value 值
> get name
 
 
### 或者也可以直接通过Docker Redis 命令进入Redis控制台 (上面两个命令的结合)
docker exec -it redis redis-cli

如果设置了密码,通过密码进入redis容器

## 进入Redis容器
docker exec -it redis /bin/bash
 
## 通过密码进入Redis控制台
>auth [你的密码]
>set [key] [value]

退出redis容器

exit

四、Nacos

1.安装Nacos

搜索Nacos镜像

docker search nacos

拉取Nacos镜像

docker pull nacos

2.启动Nacos

通过命令行启动nacos

docker run -d -e prefer_host_mode=本机ip(centos7的)  -e MODE=standalone  
 -v  /nacos/logs:/home/nacos/logs  -p 28999:8848  --name nacosdemo 
--restart=always   nacos/nacos-server        #使用的时候合成一段即可 docekr启动镜像命令

相关参数设置:
-v 某个容器的目录:映射centos上的某个目录
-p 外部访问端口:内部被映射端口
-e 环境变量设置
-d 后台运行
–name 容器的名称
–restart 重启策略

查看Nacos的相关日志

docker  ps     	#查看已经启动的容器
docker logs --since  10m   nacos的容器id      #查看指定容器的输出日志

这里的10m是查看10分钟内的相关日志,具体想查看的时长可以自己设置

3.使用Nacos

访问Nacos管理平台
网址:http://{ip:8848},访问Nacos管理平台,这里选用的是28999端口

五、Minio

1.安装Minio

docker pull minio/minio

这里拉取的是最新版本的minio,如果需要其他版本的,可以先搜索minio相关镜像,查阅资料,选取一个稳定版本

搜索minio版本

docker search minio/minio

2.配置Minio

一个用来存放配置,一个用来存储上传文件的目录

启动前需要先创建Minio外部挂载的配置文件( /home/minio/config),和存储上传文件的目录(/home/minio/data)

mkdir -p /home/minio/config
mkdir -p /home/minio/data

3.启动Minio

多行模式

docker run -p 9000:9000 -p 9090:9090 \
     --net=host \
     --name minio \
     -d --restart=always \
     -e "MINIO_ACCESS_KEY=minioadmin" \
     -e "MINIO_SECRET_KEY=minioadmin" \
     -v /home/minio/data:/data \
     -v /home/minio/config:/root/.minio \
     minio/minio server \
     /data --console-address ":9090" -address ":9000"

单行模式

docker run -p 9000:9000 -p 9090:9090      --net=host      --name minio      -d --restart=always      -e "MINIO_ACCESS_KEY=minioadmin"      -e "MINIO_SECRET_KEY=minioadmin"      -v /home/minio/data:/data      -v /home/minio/config:/root/.minio      minio/minio server      /data --console-address ":9090" -address ":9000"

9090端口指的是minio的客户端端口

MINIO_ACCESS_KEY :账号

MINIO_SECRET_KEY :密码(账号长度必须大于等于5,密码长度必须大于等于8位)

值得一提的是,在minio新发布的版本中,官方推荐我们使用

MINIO_ROOT_USER:账号
MINIO_ROOT_PASSWORD:账号

4.使用Minio

访问:http://{ip}:9090/login 用户名:密码 minioadmin:minioadmin

记得在服务器中开放你的客户端访问端口,如果本地使用的话则不需要

总结

中间件操作合集持续更新中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/91901.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

同一台服务器上多版本PHP切换(apache2 php8.2 php7.2)

我们有时会在同一台服务器上搭建多个版本的PHP,用来测试不同的程序。可是如何在多个版本之间切换呢?本文以ubuntu1804Server为例给大家进行讲解示范。 环境 ubuntu1804server 4.15.0-200-genericapache2php 7.4php 8.2 1.安装apche2 apache2的安装非…

【项目管理】项目中的进度管理,你知道多少?

有效实施项目进度计划,是项目成功的重要保障,项目进度管理也是每位项目经理都非常重视的问题。 项目中的进度管理可以帮助您了解项目当前进度,估计项目是否能顺利完成。 项目管理就是通过的对知识、技能、工具的运用对项目活动进行管理&am…

星环数据云平台 TDC 3.1 发布,新增滚动重启、存储回收站等八大核心功能

近日,星环数据云平台 Transwarp Data Cloud (以下简称 TDC)正式推出 3.1 版本。TDC 是采用云原生技术,融合星环科技全系产品打造的统一 PaaS 平台,可以为企业提供数据流通交易平台、企业湖仓一体数据湖、企业数据中台、…

Redis框架(十四):大众点评项目 基于Redis实现点赞功能实现

大众点评项目 基于Redis的点赞功能实现需求:基于Redis实现点赞功能实现业务实战总体代码展示总结SpringCloud章节复习已经过去,新的章节Redis开始了,这个章节中将会回顾Redis实战项目 大众点评 主要依照以下几个原则 基础实战的Demo和Coding…

解读一个四路组相联cache代码

解读一个四路组相联cache代码 在《计算机组成原理,软硬件接口》中,第五章便是cache的学习。本人初学cache,难免有疏漏之处,源代码github地址:https://github.com/airin711/Verilog-caches 1、四路组相联cache主要特征…

Milvus 2.1.x 到 Milvus 2.2.x 升级实践

近日,Milvus 2.2.0 发布,新版本里支持了许多激动人心的功能,包括:磁盘索引(DiskANN)、从文件中批量导入数据(bulk_insert)、基于角色的访问控制(RBAC)、集合生…

Linux | 网络概念理解 | 对网络的初始

文章目录重新看待计算机体系结构软件分层的思想网络中的分层协议的理解局域网的理解MAC地址 && IP地址报头的作用端口号(port)重新看待计算机体系结构 计算机由硬件组成,而不同硬件之间要怎么通信,或者说要怎么进行数据的…

MySQL——count(*)的底层实现以及相关优化

在开发系统的时候,可能需要需要计算一个表的行数这时候你可能会想,一条 select count(*) from t 语句不就解决了吗? 但是,会发现随着系统中记录数越来越多,这条语句执行得也会越来越慢。然后可能就想了,My…

盘点2022企业网络安全的七大成功要素

网络安全弹性已成为企业的重中之重,高达62%的受访企业在过去两年中经历了影响业务的安全事件。 最流行的四大攻击事件类型是: 1)网络或数据泄露(51.5%) 2)网络或系统中断(51.1%) 3)勒索软件事件&#x…

openpnp - 软件调试环境搭建

文章目录openpnp - 软件调试环境搭建概述笔记openpnp官方站点将openpnp工程克隆到本地将openpnp的wiki工程克隆到本地查看openpnp开发指南根据openpnp开发指南搭建openpnp开发环境IDE的选择IntelliJ IDEA学习版的安装引入openpnp工程在IDEA中, 运行openpnp主程序配置IntelliJ I…

工业手持终端并非“单兵作战”,5G智能模组时刻在线赋能

随着智能终端技术的不断演进,稳定性、实时性和续航能力强的工业手持终端为移动通信、消费电子、工业信息采集等领域提供便捷、高效的数据采集、存储、传输等功能服务。在智慧物流、智慧零售、智能制造、智慧医疗等领域,工业手持终端仍表现出需求激增、功…

Neuron 2.3.0 发布:更轻松地接入和管理海量工业设备

Neuron 2.3.0 版本现已正式发布! 除了新增数据统计、模糊搜索、页面下载日志等功能提升产品易用性外,Neuron 2.3.0 版本还新增了 CIP Ethernet/IP、Mitsubishi Melsec 1E frame E71 和 Fanuc Focas 三个协议驱动,以更强大的能力帮助工业用户…

chatgpt使用教程

** 使用门槛:需要自行准备能开全局代理的科学上网工具 好评赠送免费科学上网工具,也可以自己准备科学工具。 ** 下单以后,我们会发送一串账号密码给您。如图: 其中卡号就是chatgpt的账号,密码就是chatgpt密码。 第…

数据结构---优先队列

优先队列实现方式入队出队JAVA实现总结二叉堆是实现优先队列的基础,上一篇二叉堆博文: 二叉堆队列的特点是先进先出(FIFO)。 优先队列不再遵循先入先出的原则,而是分为两种情况。 最大优先队列,无论入队顺…

Ansible 服务器主机配置

使用 ansible 来对远程主机进行部署的话。我们需要首先对远程主机进行配置。 配置文件路径 配置文件位于:/etc/ansible/hosts 路径下面。 可以使用 vi 工具进行打开。 配置示例 下面是一个简单的配置示例。 [db]127.0.0.1[app]127.0.0.1 ansible_connections…

关于Playwright Xpath找不到元素问题解决方案

今日像往常进行xpath定位元素 发现代码里定位不出来 所以我就手动修改定位xpath 最后怎么修改都获取不到 返回None 那我就向上找 找到他的外祖母 最后进行inner_html() 发现元素是存在的 没有任何问题 这里我就又更加怀疑自己定位出错 折腾了半天发现定位不出来 于是我放弃了…

目标检测算法——车辆牌照识别数据集汇总 2(附下载链接)

🎄🎄近期,小海带在空闲之余收集整理了一批车辆牌照识别数据集供大家参考。 整理不易,小伙伴们记得一键三连喔!!!🎈🎈 目录 一、伊朗车牌数据集 🎄&#x1f3…

【目标跟踪】光流法运动视频跟踪【含Matlab源码 1357期】

⛄一、光流场简介 1 案例背景 运动视觉研究的内容是如何从变化场景中的一系列不同时刻的图像中提取有关场景中物体的形状、位置和运动的信息。根据研究的方法,它可以分为两类:基于特征的方法和基于光流场的方法。基于特征的方法抽取特征点,是…

傻白探索Chiplet,Chiplet面临的挑战之互连和封装(四)

目录 一、互连技术 二、封装技术 (1)英特尔 (2)台积电 三、生产流程 四、软件技术 实施Chiplet技术面临的主要挑战包括: 互连技术。Chiplet技术需要开发新型互连技术,以便将小芯片组合在一起。目前&a…

51单片机模块化编程

模块化 传统方式编程:所有的函数均放在 main.c 里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路。 模块化编程:把各个模块的代码放在不同的 .c 文件里…