当前位置: 首页 > news >正文

docker常用中间件安装

文章目录

  • 1、前言
  • 2、中间件安装
    • 2.1、mysql
    • 2.2、gitlab容器
    • 2.3、nacos
    • 2.4、redis
    • 2.5、xxljob
    • 2.6、zipkin
    • 2.7、sentinel
    • 2.8、seata
      • 2.8.1、获取镜像
      • 2.8.2、运行容器并获取配置
    • 2.9、rockerMQ
      • 2.9.1、rockerMQ-namesrv
      • 2.9.2、rockerMQ-broker
      • 2.9.3、rockerMQ-console
    • 2.10、jenkins
    • 2.11、启动Oracle
    • 2.12、kafka
      • 2.12.1、启动kafka容器
      • 2.12.2、参数说明:
      • 2.12.3、验证kafka是否可以使用
      • 2.12.4、kafka管理平台

1、前言

本文将详细介绍使用docker如何安装目前各种常用中间件的安装教程,主要包括:mysql、gitlab、nacos、redis、xxljob、zipkin、sentinel、seata、rocketMQ、jenkins、oracle、zookeeper、kafaka。
注意:下面的所有操作全部都是基于docker进行的,如果没有安装docker的请看:Linux-CentOS7安装docker

2、中间件安装

2.1、mysql

sudo docker run \
-d \
-p 3306:3306 \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-v /usr/local/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=xiashiman6688# \
--restart always \
--name mysql \
mysql:5.6.47

2.2、gitlab容器

sudo docker run \
-itd \
-p 9980:80 \
-p 9922:22 \
-v /usr/local/Gitlab/etc:/etc/gitlab \
-v /usr/local/Gitlab/log:/var/log/gitlab \
-v /usr/local/Gitlab/opt:/var/opt/gitlab \
--restart always \
--privileged=true \
--name gitlab \
gitlab/gitlab-ce

在这里插入图片描述

2.3、nacos

docker run \--name nacos \-d \-p 8848:8848 \-p 9848:9848 \-p 9849:9849 \--restart=always \-e JVM_XMS=256m \-e JVM_XMX=256m \-e MODE=standalone \-v /usr/local/nacos/logs:/home/nacos/logs \-v /usr/local/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \nacos/nacos-server:v2.1.0

2.4、redis

docker run \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 \
-p 6379:6379 \
--name redis \
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis/data:/data \
-d redis:5.0.7 \
redis-server /etc/redis/redis.conf \
--appendonly yes \
–restart=always 总是开机启动
–log是日志方面的
-p 6379:6379 将6379端口挂载出去
–name 给这个容器取一个名字
-v 数据卷挂载
/home/redis/myredis/myredis.conf:/etc/redis/redis.conf 这里是将 liunx 路径下的myredis.conf 和redis下的redis.conf 挂载在一起。
/home/redis/myredis/data:/data 这个同上
-d redis:版本号 表示后台启动哪个版本的redis
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录 /etc/redis/redis.conf 也就是liunx下的/home/redis/myredis/myredis.conf
–appendonly yes 开启redis 持久化
–requirepass 000415 设置密码 (如果你是通过docker 容器内部连接的话,就随意,可设可不设。但是如果想向外开放的话,一定要设置

2.5、xxljob

docker run \
-e PARAMS="--spring.datasource.url=jdbc:mysql://43.138.106.84:3306/xxl_job_dev?Unicode=true&characterEncoding=UTF-8 \
--spring.datasource.username=xxljob \
--spring.datasource.password=xxljob" \
-p 8080:8080 \
-v /tmp:/data/applogs \
--name xxl-job-admin \
--restart=always \
-d xuxueli/xxl-job-admin:2.3.1

2.6、zipkin

docker run \
-e PARAMS="--spring.datasource.url=jdbc:mysql://localhost:3306/zipkin?Unicode=true&characterEncoding=UTF-8 \
--spring.datasource.username=root \
--spring.datasource.password=123456" \
-p 9411:9411 \
--name zipkin \
--restart=always \
-d openzipkin/zipkin:2.12.9

2.7、sentinel

docker run \
--name sentinel \
--restart=always \
-p 8858:8858 \
-v /usr/local/sentinel_home:/home/sentinel_home \
-d bladex/sentinel-dashboard:1.8.0 

2.8、seata

2.8.1、获取镜像

docker pull seataio/seata-server

2.8.2、运行容器并获取配置

为方便我们对seata配置修改我们需要先运行下seata-server,然后将配置拷贝到宿主机中,完成之后删除之前配置并通过宿主机运行容器。

docker run \
-d \
--restart always  \
--name  seata-server \
-p 8091:8091  \
-v /usr/local/seata:/seata-server \
seataio/seata-server:1.5.1

2.9、rockerMQ

2.9.1、rockerMQ-namesrv

docker run \
-d \
--name rocketmq-namesrv \
--network rocketmq \
--restart=always \
-p 9876:9876 \
-v /usr/local/rocketmq/namesrv/logs:/root/logs \
-v /usr/local/rocketmq/namesrv/store:/root/store \
apache/rocketmq:4.9.3 sh \
mqnamesrv 

配置文件路径: /usr/local/rocketmq/broker/conf/broker.conf

2.9.2、rockerMQ-broker

docker run \
-d \
--name rocketmq-broker \
--network rocketmq \
--restart=always \
-p 10909:10909 \
-p 10911:10911 \
-v /usr/local/rocketmq/broker/logs:/root/logs \
-v /usr/local/rocketmq/broker/store:/root/store \
-v /usr/local/rocketmq/broker/conf:/home/rocketmq/rocketmq-4.9.3/conf \
-e "JAVA_OPT_EXT=-server -Xms256m -Xmx700m" apache/rocketmq:4.9.3 sh mqbroker \
-c /usr/local/rocketmq/broker/conf/broker.conf 不指定内存:(-e那行换成如下)
apache/rocketmq:4.9.3 sh mqbroker 

2.9.3、rockerMQ-console

docker run \
-d \
--name rocketmq-console \
--network rocketmq \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=rocketmq-namesrv:9876 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 8000:8080 \
--restart=always \
apacherocketmq/rocketmq-dashboard:latest

2.10、jenkins

docker run \
-itd \
--name jenkins \
-p 8829:8080 \
-p 50000:50000 \
--restart always \
-e JAVA_OPTS=-Duser.timezone=Asia/Shanghai -v /usr/soft/jenkins_home:/var/jenkins_home \
//-v  /usr/local/maven/apache-maven-3.6.3:/usr/local/maven \
-v /etc/localtime:/etc/localtime \
jenkinszh/jenkins-zh

2.11、启动Oracle

docker run \
-d \
-p 1521:1521 \
--name oracle11g \
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g \
-v /usr/local/oracle/product/11.2.0/dbhome_2:/home/oracle/app/oracle/product/11.2.0/dbhome_2

查看容器启动状态: docker ps | grep oracle11g
进入oracle11g容器进行配置: docker exec -it oracle11g bash
切换到root用户下进行配置: su root 输入密码: helowin
编辑profile文件配置ORACLE环境变量: vi /etc/profile ,并添加如下内容, 保存退出后使配置生效 source /etc/profile

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

创建软连接: ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切换到oracle 用户: su - oracle
登录sqlplus并修改sys、system用户密码:

sqlplus /nolog	# 登录
conn /as sysdba # 连接
alter user system identified by system; # 修改system密码为system
alter user sys identified by sys; # 修改sys密码为sys
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
exit;

查看一下oracle实例状态: lsnrctl status
在这里插入图片描述

2.12、kafka

2.12.1、启动kafka容器

docker run \
-d \
--restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name kafka \
-p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=120.53.12.20:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://120.53.12.20:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-v /usr/local/kafka/etc/localtime:/etc/localtime \
wurstmeister/kafka

2.12.2、参数说明:

  • -e KAFKA_BROKER_ID=0 :在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
  • -e KAFKA_ZOOKEEPER_CONNECT=192.168.244.132:2181/kafka :配置zookeeper管理kafka的路径172.16.0.13:2181/kafka
  • -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.244.132:9092 :把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
  • -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 :配置kafka的监听端口
  • -v /etc/localtime:/etc/localtime :容器时间同步虚拟机的时间

2.12.3、验证kafka是否可以使用

1、进入容器:docker exec -it kafka bash
2、进入 /opt/kafka_2.12-2.3.0/bin/ 目录下:cd /opt/kafka_2.13-2.8.1/bin/
3、运行kafka生产者发送消息:./kafka-console-producer.sh --broker-list localhost:9092 --topic sun
4、发送消息: {“datas”:[{“channel”:“”,“metric”:“temperature”,“producer”:“ijinus”,“sn”:“IJA0101-00002245”,“time”:“1543207156000”,“value”:“80”}],“ver”:“1.0”}
5、打开新窗口,运行kafka消费者接收消息:./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
执行完上诉命令后,在生产者窗口中 输入任意内容回车,即可在消费者的窗口查看到消息

2.12.4、kafka管理平台

docker pull docker.io/sheepkiller/kafka-managerdocker run \
-it \
-d \
--rm \
-p 9000:9000 \
-e ZK_HOSTS="120.53.12.20:2181" \
--net=host \
sheepkiller/kafka-manager

相关文章:

docker常用中间件安装

文章目录 1、前言2、中间件安装2.1、mysql2.2、gitlab容器2.3、nacos2.4、redis2.5、xxljob2.6、zipkin2.7、sentinel2.8、seata2.8.1、获取镜像2.8.2、运行容器并获取配置 2.9、rockerMQ2.9.1、rockerMQ-namesrv2.9.2、rockerMQ-broker2.9.3、rockerMQ-console 2.10、jenkins2…...

Camunda 7.x 系列【44】修改流程实例

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 概述2. 案例演示2.1 回退2.2 子流程2.3 多实例加签1. 概述 流程模型中,执行活动需要按…...

无频闪护眼灯哪个好?什么是无频闪

随着科技的不断发展,工作时使用电子设备越来越普遍,如何保护我们的眼睛不受蓝光、频闪等危害就变得极其重要了。护眼台灯,顾名思义就是保护眼睛的台灯,其工作原理是在光源处使用特殊的防蓝光灯珠,并通过控制电流的稳定性来达到防频…...

css网格布局

css网格布局 常用属性 display: grid; //开启网格grid-template-columns: 2fr 1fr 1fr 1fr 1fr; //设置多少列每列宽度grid-gap: 10px; // 设置表格之间间距grid-template-rows: 50px 50px 50px 50px; // 设置多少行 每行的高度grid-column : 1 //占据位置 占据1格grid-colu…...

Hadoop -HDFS常用操作指令

1.启动HDFS hadoop/sbin/start-dfs.sh2.关闭 HDFS hadoop/sbin/stop-dfs.sh3. 在HDFS中创建文件夹 #老版本 hadoop fs -mkdir -p path #新版本 hadoop dfs -mkdir -p path4.查看指定目录下内容 hadoop fs -ls [-h] [-R] path hadoop dfs -ls [-h] [-R] ptahpath 指定…...

代码随想录二刷day11

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣20. 有效的括号二、力扣1047. 删除字符串中的所有相邻重复项三、力扣150. 逆波兰表达式求值 前言 一、力扣20. 有效的括号 class Solution {public bo…...

系统架构技能之设计模式-工厂模式

一、开篇 本文主要是讲述设计模式中最经典的创建型模式-工厂模式,本文将会从以下几点对工厂模式进行阐述。 本文将会从上面的四个方面进行详细的讲解和说明,当然会的朋友可以之处我的不足之处,不会的朋友也请我们能够相互学习讨论。 二、摘…...

Docker的基本组成和安装

Docker的基本组成 镜像(image): docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,tomcat镜像 > run > tomcat01容器(提供服务) 通过这个镜像可以创建多个容器(最…...

【python爬虫】15.Scrapy框架实战(热门职位爬取)

文章目录 前言明确目标分析过程企业排行榜的公司信息公司详情页面的招聘信息 代码实现创建项目定义item 创建和编写爬虫文件存储文件修改设置 代码实操总结 前言 上一关,我们学习了Scrapy框架,知道了Scrapy爬虫公司的结构和工作原理。 在Scrapy爬虫公司…...

Apinto 网关 V0.14 版本发布,6 大插件更新!

大家好! 距离上次更新已经过去一段时间了,这段日子里我们一直在酝酿新的功能,本次的迭代将给大家带来 6 大插件的更新~一起来看看有哪些变化吧! 新特性 1. 新增 额外参数v2 插件,支持对转发参数进行加密、拼接等操作…...

突破销售瓶颈:亚马逊卖家如何借力TikTok网红营销?

随着社交媒体的崛起,营销方式也在不断变革。TikTok作为一款风靡全球的短视频平台,吸引了数以亿计的用户,成为了品牌宣传和销售的新热点。对于亚马逊卖家而言,通过合理运用TikTok网红营销策略,可以有效提升产品的曝光度…...

JavaWeb之Cookie的简单使用!!!

什么是Cookie Cookie:客户端会话技术,将数据保存到客户端,以后每次请求都携带Cookie数据进行访问 Cookie 数据存放在浏览器端(客户端) 创建Cookie 1.创建Cookie Cookie cookie new Cookie("key","value"); 2.使用response响应…...

16、Flink 的table api与sql之连接外部系统: 读写外部系统的连接器和格式以及Apache Hive示例(6)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...

6.Redis-hash

hash 哈希类型中的映射关系通常称为field-value,⽤于区分 Redis 整体的键值对(key-value),注意这⾥的value是指field对应的值,不是键(key)对应的值,请注意 value 在不同上下⽂的作⽤…...

点云从入门到精通技术详解100篇-多时相机载激光雷达人工林点云匹配及生长监测(续)

目录 多时相机载激光雷达人工林点云匹配及变化监测 3.1 技术路线 3.2 数据准备 3.3 方法...

【Vue3 知识第七讲】reactive、shallowReactive、toRef、toRefs 等系列方法应用与对比

文章目录 一、reactive()二、readonly()三、shallowReactive()四、shallowReadonly()五、isReactive() 和 isReadonly()六、toRef()七、toRefs()八、toRaw()九、ref、toRef、toRefs 异同点 一、reactive() reactive() 函数用于返回一个对象的响应式代理。与 ref() 函数定义响应…...

Docker 摸门级简易手册

Docker 摸门级简易手册 文章目录 Docker 摸门级简易手册使用 Docker 构建 Java 项目镜像Docker 安装Install on MacInstall on WindowsInstall on Linux Dockerfile 说明FROMLABELENVWORKDIRCOPYADDRUNCMDEXPOSEENTRYPOINTVOLUMEUSER 使用 Docker 构建 Java 项目镜像 假设有个…...

Java类加载机制

简介 在Java的世界里,每一个类或者接口,在经历编译器后,都会生成一个个.class文件。 类加载机制指的是将这些.class文件中的二进制数据读入到内存中,并对数据进行校验,解析和初始化。最终,每一个类都会在…...

vue 自定义指令简单记录

自定义指令例子 // src/main.js import { createApp } from vue; import App from ./App.vue;const app = createApp(App);// 全局自定义指令 app.directive(color-directive, {mounted(el, binding) {// 当指令绑定到元素上时触发// el 是绑定的元素// binding 包含了指令的信…...

算法通关村-----快速排序的原理和实现

快速排序介绍 快速排序是一种经典高效的排序方法,是分治策略在排序上的具体体现。将一个大的待排序列分割成若干个小的有序序列,最终将各个小的有序序列合并成一个大的有序序列。 快速排序的实现原理 选择一个基准值,将小于基准值的元素放…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言:多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

数据链路层的主要功能是什么

数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...