docker常用中间件安装

news2024/12/23 8:57:50

文章目录

  • 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-manager


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

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

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

相关文章

java企业工程管理系统源码之提高工程项目管理软件的效率

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中,管理不畅以及不良的项目执行,往往会导致项目延期、成本上升、回款拖后,最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统,确保…

文件分片上传

概要 在日常开发中上传文件是常见的功能,像使用 SpringBoot 作为服务端接收上传的文件是很方便的,但是默认情况下 SpringBoot 为我限定了单次上传文件的大小,默认是1MB,当我们单次上传的大小超过1MB的时候就会报错,这…

Vmware虚拟机操作系统和本地操作系统互Ping要求、解决方式讲解

Vmware虚拟机操作系统和本地操作系统互Ping讲解 在虚拟化环境中,如VMware,虚拟机(Virtual Machine,简称VM)和本地操作系统之间进行Ping测试是一项常见的任务。Ping测试可用于检查虚拟机是否能够与本地操作系统或其他网…

wap2app 隐藏系统状态栏

一、首先创建wap2App项目 1、文件》新建》项目 2、选择Wap2App项目:输入项目名称、网站首页地址(如果是本地localhost的话改为你的IP地址即可),点击创建 二、创建完wap2App项目后 隐藏系统状态栏只要修改1、2选项即可 1、找到根…

智慧工地源码 智慧大屏、手机APP、SaaS模式

一、智慧工地可以通过安全八要素来提升安全保障,具体措施包括: 1.安全管理制度:建立科学完善的安全管理制度,包括安全标准规范、安全生产手册等,明确各项安全管理职责和要求。 2.安全培训教育:对工地人…

港科夜闻|香港科大商学院李莹莹教授获研究资助局(RGC)授予研资局高级研究员头衔...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大商学院李莹莹教授获研究资助局(RGC)授予“研资局高级研究员”头衔。李教授的研究项目“金融风险大数据”将利用金融大数据进行严谨、全面的统计研究,更准确地进行风险评估和预测,构建高质…

Linux内核开启BBR加速

升级内核 BBR 模块从 4.9 版本的内核中开始支持,CentOS7 的发布版标配的是 kernel-3.10,所以首先需要升级内核到大于等于 4.9 的版本,然后再更改设置开启 BBR。 查看内核版本 1) uname -r 3.10.0-1160.71.1.el7.x86_64YUM方式升级安装 1&…

跨境做独立站,如何低成本引流?

大家都知道,海外的消费习惯与国内不同,独立站一向是海外消费者的最喜欢的购物方式之一,这也吸引了许多跨境商家开设独立站。 独立站不同于其他的第三方平台,其他平台可以靠平台自身流量来获得转化,而独立站本身没有流…

django.core.exceptions.AppRegistryNotReady: Apps aren‘t loaded yet.

运行django测试用例报错django.core.exceptions.AppRegistryNotReady: Apps arent loaded yet. 解决:在测试文件上方加上 django.setup() django.setup()是Django框架中的一个函数。它用于在非Django环境下使用Django的各种功能、模型和设置。 在常规的Django应用…

63.C++ mutable关键字

mutable 是C中的一个关键字,它用于修饰类的成员变量。当一个成员变量被声明为 mutable 时,它将允许在常量成员函数中修改这个成员变量的值,即使这个成员函数被声明为 const。 常量成员函数是类的成员函数,它们承诺不会修改类的成…

构建现代应用:Java中的热门架构概览

文章目录 1. 三层架构2. Spring框架3. 微服务架构4. Java EE(Enterprise Edition)5. 响应式架构6. 大数据架构7. 领域驱动设计(Domain-Driven Design,DDD)8. 安卓开发架构结论 🎉欢迎来到Java学习路线专栏~…

【算法竞赛宝典】猴子吃桃

【算法竞赛宝典】猴子吃桃 题目描述代码展示答案 题目描述 代码展示 //猴子吃桃 #include <iostream>using namespace std;int main() {int day 9, x1, x2 1;while (day > 0) {x1 (x2 1) * 2;//第&#xff11;天的桃子数是第&#xff12;的天的桃子数加&#xff…

[虚幻引擎插件介绍] DTGlobalEvent 蓝图全局事件, Actor, UMG 相互回调,自由回调通知事件函数,支持自定义参数。

本插件可以在虚幻的蓝图 Actor&#xff0c; Obiect&#xff0c;UMG 里面指定绑定和执行消息&#xff0c;可带自定义参数。 参数支持 Bool&#xff0c;Byte&#xff0c;Int&#xff0c;Int64&#xff0c;Float&#xff0c;Name&#xff0c;String&#xff0c;Text&#xff0c;Ve…

自定义spring-boot-start的jar包被引用时,提示找不到bean

类似这个报错&#xff1a; 重点要看一下我们自定义的start包下的config配置 BeanConditionalOnProperty(prefix "file", value "iSenable", havingValue "true")public FileServiceTemplate fileServiceTemplate(){return new FileServiceTe…

开开心心带你学习MySQL数据库篇之二

如何增大自己进入大厂的概率? 作业写得扎实,博客写得扎实,github/gitee搞的扎实 > 进入大厂的概率就会超过其他同学. 对于最近java行业有点饱和的看法? 大家不要只关注编程语言,这就把路走窄了!!! ~~ 投简历的时候,各种相关的岗位都是可以尝试的 ~~ 除了投后端开发,还…

Lliux管理员一些小技巧

1、查看bash日志 history命令显示日期和时间 2、打印时候对行列转换 xargs命令是改变已存在的文件的输出格式。“cat 文件名”是根据文件的行分隔符输出显示在屏幕上。如想改变一下&#xff0c;想把所有行合并为一行&#xff0c;就可以使用管道及xargs命令。 cat 文件名 |…

Bevformer:通过时空变换从多摄像机图像学习鸟瞰图表示

论文地址&#xff1a;BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers 代码地址&#xff1a;https://github.com/zhiqi-li/BEVFormer 论文背景 三维视觉感知任务&#xff0c;包括基于多摄像机图像的三维检测…

外贸soho不要随便给客户推荐供应商

我们常常以为大公司做事会更稳妥&#xff0c;更有保障&#xff0c;很多时候愿意选择大公司合作&#xff0c;为的就是图个心安&#xff0c;最近碰到的事实恰好相反&#xff01; 事情经过是这样的&#xff0c;有个客户除了找家具之外&#xff0c;还找很多其他的产品&#xff0c;…

芯片开发之难如何破解?龙智诚邀您前往DR IP-SoC China 2023 Day

2023年9月6日&#xff08;周三&#xff09;&#xff0c;龙智即将亮相D&R IP-SoC China 2023 Day&#xff0c;呈现集成了Perforce与Atlassian产品的芯片开发解决方案&#xff0c;助力企业更好、更快地进行芯片开发。 龙智资深顾问、技术支持部门负责人李培将带来主题演讲—…

无网安装OpenLDAP

一、服务器操作系统 CentsOS8.2 二、软件获取 2.1、OpenLDAP 官网下载OpenLDAP 2.2、BDB berkeley-db-5.1.29 (OpenLDAP当前与6.x版本不兼容&#xff0c;READEME中明确写出兼容4.44.8或5.05.1)&#xff1a; BerkeleyDB下载 2.3、LDAP Administrtor LDAP Administrtor…