java常用环境docker安装

配置目录

    • rocketmq
    • redis
    • mysql
      • 不配置binlog
      • 配置binlog
    • Nacos
    • zookeeper

本文为精简安装,部分不带容器卷映射,仅供以学习使用。

rocketmq

  1. nameservice
 sudo docker run -d \
--privileged=true \
--name rmqnamesrv \
-p 9876:9876  \
-e "MAX_HEAP_SIZE=256M" \
-e "HEAP_NEWSIZE=128M" \
apache/rocketmq:5.1.0 sh mqnamesrv
  1. broker

修改broker.conf

# nameServer 地址多个用;隔开 默认值null
# 例:127.0.0.1:6666;127.0.0.1:8888
namesrvAddr = 10.3.89.152:9876
# 集群名称
brokerClusterName = DefaultCluster
# 节点名称
brokerName = broker-a
# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0
brokerId = 0
# Broker服务地址        String  内部使用填内网ip,如果是需要给外部使用填公网ip
brokerIP1 = 10.3.89.152
# Broker角色
brokerRole = ASYNC_MASTER
# 刷盘方式
flushDiskType = ASYNC_FLUSH
# 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04
deleteWhen = 04
# 以小时计算的文件保留时间 默认值72小时
fileReservedTime = 72
# 是否允许Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true

运行容器

docker run -d \
--name rmqbroker \
-p 10911:10911 -p 10909:10909 \
--privileged=true \
-v /home/yi/rocketmq/conf/broker.conf:/home/rocketmq/broker.conf \
-e "MAX_HEAP_SIZE=512M" \
-e "HEAP_NEWSIZE=256M" \
apache/rocketmq:5.1.0 \
sh mqbroker -c /home/rocketmq/broker.conf
  1. mqconsole
    注意这里的IP应该为主机的外网IP。
docker run -d --name rmqconsole -e "JAVA_OPTS=-Drocketmq.namesrv.addr=10.3.89.152:9876 -Dcom.rocke
tmq.sendMessageWithVIPChannel=false" -p 8088:8080 -t styletang/rocketmq-console-ng

配置完成后访问 http://localhost:8088/#/ 即可看到管理界面。

redis

docker run -p 6379:6379 --name redis  -d redis redis-server --requirepass "123456"

mysql

mysql配置较为繁琐,如果不需要开启binlog可以直接运行第一个。

不配置binlog

docker run \
--name mysql \
-d \
-p 3306:3306 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:5.7

配置binlog

  1. 从容器中获取mysqld.cnf文件
docker run --name mysql \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql# /home/yi/mysql/conf 是本地目录,没有的话需要创建
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /home/yi/mysql/conf
  1. 配置开启binlog
#在/home/yi/mysql/conf/mysqld.cnf中添加:
# 配置文件中添加如下内容,注意是在在[mysqld]目录中
log-bin=mysql-bin  # 开启 binlog
binlog-format=ROW  # 选择 ROW 模式
server-id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复
  1. 以配置文件启动容器
    这里conf、log、data目录都需要自己创建
#删除mysql容器
docker rm -f mysql
#创建mysql容器docker run -itd --name mysql \-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-v /etc/localtime:/etc/localtime \
-v /home/yi/mysql/conf:/etc/mysql/mysql.conf.d \
-v /home/yi/mysql/log:/var/log/mysql \
-v /home/yi/mysql/data:/var/lib/mysql \mysql
  1. 可选项
#可选项 授权root账号所有IP能够访问
# 使用 MySQL 容器中的命令行
docker exec -it mysql /bin/bash# 使用 MySQL 命令打开客户端:
mysql -uroot -p123456 --default-character-set=utf8# 接着创建一个账户,该账号所有 IP 都能够访问
grant all privileges on *.* to 'root' @'%' identified by 'root';# 刷新生效
FLUSH PRIVILEGES;# 查看 binlog 日志是否开启
show variables like 'log_%';# 查看主结点当前状态
show master status;

Nacos

docker run \
-d -p 8848:8848 \
-p 9848:9848 \
--name nacos2 \
-e MODE=standalone \
-e TIME_ZONE='Asia/Shanghai' \
nacos/nacos-server:v2.1.1

访问:http://localhost:8848/nacos/ 即可进入管理界面

zookeeper

docker run -d -e TZ="Asia/Shanghai" -p 2181:2181 -v /home/yi/zookeeper:/data --name zookeeper  zookeeper

验证安装:

#进入容器
docker exec -it zookeeper bash      //只登录容器,不登录 zkCli./bin/zkCli.sh    //执行脚本新建一个Client,即进入容器
create /test   //创建test节点
ls /                 //查找当前创造的节点[test, zookeeper]

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

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

相关文章

visio、ppt、office等另存图片,如何设置更清晰

visio、ppt、office等另存图片,如何设置更清晰 选中要另存为的部分——文件——另存为——选好位置——格式选jpg——保存——按下图设置:质量100%,分辨率选打印机,大小选屏幕——确定

android开发前景2019,android高级面试framework

到底是公司养活了我,还是我养活了公司? 1. 很难在一家公司干到退休 在我父母那一代,一个上班的职工,往往可以在一家单位干到退休,名副其实的“铁饭碗”。甚至更早之前的年代,职工的子女还可以接父母的班&a…

计算机专业大学四年应该如何规划(Java方向)

计算机专业的学生,如何在大学四年内提高自己的竞争力,毕业之后直接进大厂工作? 以下将从大学四年计算机专业的学习规划、课程设置、能力提升、参考书籍等方面,为同学们提供一些建议和指导。 大一: 主攻技能学习并且达…

数据结构之数组

一、定义 数组(Array)是一种用连续的内存空间存储相同数据类型数据的线性数据结构。 二、内存结构 1.创建数组 我们创建一个数组 int[] array {22,33,88,66,55,25} ,在内存结构如下图所示: 首先创建了array数组,会…

Node.js基础---npm与包

包 概念:Node.js 中的第三方模块又叫做包 来源:由第三方个人或团队开发出来的,免费使用,且为开源 为什么需要:Node.js的内置模块只有一些底层API,开发效率低 包是基于内置模块封装出来的,提供更…

python实现跨进程(跨py文件)通信01

前言 项目中总会遇到数据需要跨进程通信的问题,今天就给大家带来一套简单的跨进程通信代码。代码分为服务端与客户端两部分。 一、server端 import multiprocessing import timedef do_socket(conn, addr, ):try:while True:if conn.poll(1) False:time.sleep(0…

ZCANPRO基础操作流程

硬件准备 测试单关节需要准备如下工具: 电源: 推荐使用20-27V直流电源。关节峰值功率为额定功率的三倍。 CAN卡: 推荐使用周立功USB转CANFD卡,我们的单关节测试软件适配了该型号CAN卡驱动。 WHJ系列关节模组 WHJ系列关节模组包含…

2024最新大厂Android面试真题解析,三年老Android经验面经

前言 不知道大家面试的时候,有没有遇到这种情况,面试工资谈的是10K,最后干着40K的活!说着冠冕堂皇,提升大家能力的话,做着死命压榨员工,996成了程序员心里的魔咒! 初级安卓开发工程…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的活体人脸检测系统(Python+PySide6界面+训练代码)

摘要:本篇博客详细讲述了如何利用深度学习构建一个活体人脸检测系统,并且提供了完整的实现代码。该系统基于强大的YOLOv8算法,并进行了与前代算法YOLOv7、YOLOv6、YOLOv5的细致对比,展示了其在图像、视频、实时视频流和批量文件处…

CSS_实现三角形和聊天气泡框

如何用css画出一个三角形 1、第一步 写一个正常的盒子模型&#xff0c;先给个正方形的div&#xff0c;便于观察&#xff0c;给div设置宽高和背景颜色 <body><div class"box"></div> </body> <style>.box {width: 100px;height: 100px…

常用git 打tag命令

1.查看所有tag git tag 2.创建 v5.0.0的tag git tag v5.0.0 git tag &#xff08;创建后查看&#xff09; 3.推送到远程tag git push origin v5.0.0 4.删除远程tag git push origin --delete v5.0.0 5.删除本地tag git tag -d v5.0.0 6.添加带有备注信息的tag git tag v5.…

Java反射机制底层原理

反射机制 这篇文章我是参考了Java 中的反射机制&#xff08;两万字超全详解&#xff09;_java反射-CSDN博客 然后我在这里做一下总结&#xff0c;因为原文章真的很好&#xff0c;我才疏学浅没什么进行补充&#xff0c;只能做出自己的总结并且写一下自己对这个的理解。 原理&…

配置artifactory的反向代理和域名访问

一、概述 在许多情况下&#xff0c;组织会通过反向代理来提供对 Artifactory 的访问。在某些情况下&#xff0c;例如使用 Artifactory 作为 Docker 注册表&#xff0c;这种设置甚至是强制性的。为了简化反向代理的配置&#xff0c;Artifactory 提供了生成反向代理的功能&#x…

spring boot学习第十三篇:使用spring security控制权限

该文章同时也讲到了如何使用swagger。 1、pom.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instanc…

vue - - - - - vue3使用draggable拖拽组件

vue3使用draggable拖拽组件 一、组件安装二、插件使用三、遇到的问题1. missing required prop&#xff1a; “itemKey” 一、组件安装 yarn add vuedraggablenext // or npm i -S vuedraggablenext二、插件使用 <template><draggableitem-key"id"class&q…

吴恩达机器学习笔记十三 多分类问题(multiclass) Softmax 神经网络的softmax输出 softmax改进

多分类问题指可能会有多于两个的输出标签&#xff0c;而不只是0或1的问题。 Softmax算法是逻辑回归的一种推广。 例如 y 有四种可能的取值时&#xff1a; 成本函数 例如有十种类别的输出&#xff0c;此时称这个神经网络有一个softmax输出层或上层是softmax层 softmax layer有…

android高级面试视频,从入门到精通

大佬带你走进Android开发的世界&#xff0c;掌握了这些知识点&#xff0c;学习Android也可以很轻松。 核心分析内容 对于怎么学习Android&#xff0c;主要解决的是3个问题&#xff1a;学什么、怎么学 & 怎么用。 具体如下&#xff1a; 下面&#xff0c;我将带着上述几个问…

视频学习胜过读书吗

现在&#xff0c;网上的课程视频和讲座视频&#xff0c;越来越多。同样的内容&#xff0c;可以读书学习&#xff0c;也可以视频学习&#xff0c;大家喜欢哪一种&#xff1f; 我比较喜欢读书&#xff0c;实在没耐心视频学习。 书籍只要随手一翻&#xff0c;就知道大概的内容了&…

为什么Kafka这么快(Kafka高吞吐、高性能)

文章目录 问什么 Kafka 可以这么快&#xff1f;消息发送端消息存储1.零拷贝机制2.磁盘顺序读写3.稀疏索引4.页缓存5.分区和副本6.分段存储的好处 消息消费 Kafka是分布式消息系统&#xff0c;需要处理海量的消息&#xff0c;Kafka的设计是把所有的消息都写入速度低容量大的硬盘…

宝塔FTP服务设置并结合cpolar内网穿透实现远程传输文件

文章目录 1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固定FTP地址连接 宝塔FTP是宝塔面板中的一项功能&#xff0c;用于设置和管理FTP服务。通过宝塔FTP&#xff0c;用户可以创建FTP账号&#xff0c;配置FTP用户权限…