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,一经查实,立即删除!

相关文章

vue 3至5年常见面试题及答案

针对有3至5年经验的Vue.js开发者,以下是一些常见的面试问题及其答案: 基础与核心概念 问题:解释Vue.js的响应式原理。 答案:Vue.js使用Object.defineProperty()方法来实现响应式数据。当数据发生变化时,Vue会触发相应…

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数组,会…

数据结构与算法:线性数据结构

1. 深入理解数组、链表、栈和队列 在计算机科学和软件工程领域,数据结构是构建算法和解决实际问题的基础。其中,数组、链表、栈和队列是最基本、最常用的数据结构之一。本文将深入探讨这些数据结构的定义、特性以及基本操作,帮助读者更好地理…

AI智能语音机器人开源源码系统二次开发各版本部署

产品性能:现在市场上的电话机器人最核心的功能就除了​‌‌有智能电话机器人话术配置,一键导入数据资料,根据时间设置进行外呼。还可以对筛选出意向客户进行按意向度分类。并进入CRM客户管理系统,这是市场是最常见的也是最基本的电…

Python实现FPGA板卡仿真验证方法

在Python中针对FPGA板卡进行仿真,通常可以使用一些特定的库或工具来实现。以下是一些常用的方法: HDL模拟器:对于FPGA设计,通常使用硬件描述语言(HDL)如Verilog、VHDL来描述电路,然后使用HDL模拟…

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的细致对比,展示了其在图像、视频、实时视频流和批量文件处…

golang学习参考记录

1.ORM结果处理 - GoFrame (ZH)-v1.15 - GoFrame官网 - 类似PHP-Laravel, Java-SpringBoot的Go企业级开发框架 2.mysql操作 GORM连接Mysql数据库 - 梯子教程网

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.…

在Vue开发中v-if指令和v-show指令的使用介绍,v-if和v-for的优先级以及使用注意事项的介绍

文章目录 一、条件渲染1、v-if2、v-else3、v-else-if4、\<template> 上的 v-if5、v-show 二、区别&#xff1a;1、渲染区别2、性能区别&#xff1a; 三、v-if和v-for的优先级四、注意事项 一、条件渲染 1、v-if v-if 指令用于条件性地渲染一块内容。这块内容只会在指令…

Java反射机制底层原理

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

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

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

实战LangChain(一):构建您的第一个聊天机器人

实战LangChain(一):构建您的第一个聊天机器人 实战LangChain(一):构建您的第一个聊天机器人 文章目录 实战LangChain(一):构建您的第一个聊天机器人引言开始使用1.安装2.使用 openai 构建聊天机器人3.使用千问或者chatglm构建聊天机器人结论引言 doc 地址 简介 |🦜…