使用Docker快速搭建基础服务

Docker安装

#Linux安装
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
#启动docker服务
systemctl start docker
#将docker添加到开机自启动
sudo systemctl enable docker
#查看是否成功安装
docker info

Mysql安装

#拉取镜像
docker pull mysql:5.6
#运行mysql 主机3307映射容器3306 后台运行 将主机的/root/data目录与容器的/var/lib/mysql目录挂载
docker run --name mysql1 -e MYSQL_ROOT_PASSWORD=root -p 3307:3306 -d -v /root/data:/var/lib/mysql mysql:5.7

Redis安装

#拉取镜像
docker pull redis:6.2.5
#简单运行
docker run --name redis -d redis:6.2.5
#开启aof持久化
docker run --name redis1 -d -p 6379:6379 -v /root/redisdata:/data redis:6.2.5 redis-server --appendonly yes

RabbitMQ

#拉取镜像
docker pull rabbitmq:3.7.28-management
#运行
docker run --name rabbit1 -p 15672:15672 -p 5672:5672 -d rabbitmq:3.7.28-management

RocketMQ

#拉取镜像
docker pull apache/rocketmq:4.8.0
#创建namesrv数据存储路径
mkdir -p  /docker/rocketmq/data/namesrv/logs   /docker/rocketmq/data/namesrv/store
#启动namesrv容器
docker run -d --restart=always --name rmqnamesrv -p 9876:9876 -v /docker/rocketmq/data/namesrv/logs:/root/logs -v /docker/rocketmq/data/namesrv/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" apache/rocketmq:4.8.0 sh mqnamesrv 
#创建broker节点数据存储路径
mkdir -p  /docker/rocketmq/data/broker/logs   /docker/rocketmq/data/broker/store /docker/rocketmq/conf
#创建配置文件
vi /docker/rocketmq/conf/broker.conf

编辑broker.conf,并设置brokerIP1

# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址
brokerIP1 = 【broker节点所在服务器的ip】
# 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=95
#构建broker容器
docker run -d  --restart=always --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 -v /docker/rocketmq/data/broker/logs:/root/logs -v /docker/rocketmq/data/broker/store:/root/store -v /docker/rocketmq/conf/broker.conf:/opt/rocketmq-4.8.0/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" apache/rocketmq:4.8.0 sh mqbroker -c /opt/rocketmq-4.8.0/conf/broker.conf#拉取rockermq-console服务镜像
docker pull pangliang/rocketmq-console-ng:latest#构建rockermq-console容器 注意:设置namesrv机器地址
docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=175.24.204.30:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 9999:8080 pangliang/rocketmq-console-ng

MinIO

#拉取镜像
docker pull minio/minio:RELEASE.2022-06-20T23-13-45Z.fips
#创建本地数据卷
mkdir -p /minio/config
mkdir -p /minio/data#网络模式指定为bridgedocker run -p 9000:9000 -p 9090:9090 --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:RELEASE.2022-06-20T23-13-45Z.fips server /data --console-address ":9090" -address ":9000"

Docker-Compose一键启动

上述方法需要我们单独对每一个服务进行启动,当基础服务多的时候,非常不方便,所以可以采用Docker-Compose的方式一键启动,以下是相关步骤

1.docker-compose手动安装

在这个目录下载docker-compose-Linux-x86_64:
https://github.com/docker/compose/releases/tag/1.25.5

2.上传docker-compose-Linux-x86_64文件到Linux
#上传本地的文件到Linux服务器,注意更换为自己的地址
scp /Users/xxx/Downloads/docker-compose-Linux-x86_64 root@172.24.214.33:/usr/local/bin/docker-compose
3.赋予该文件可执行权限
sudo chmod +x /usr/local/bin/docker-compose
4.创建docker-compose文件
#在root目录下创建
cd ~/
touch docker-compose.yml
5.编辑docker-compose.yml
vim docker-compose.yml
version: "3.5"
services:mysql_base:image: mysql:5.6ports:- "3307:3306"container_name: mysql_baserestart: always #总是重启 相当于docker run --restart=alwaysenvironment:- "MYSQL_ROOT_PASSWORD=root"volumes: #数据卷映射- /root/volumes/mysql_app/mysqldata:/var/lib/mysql #手动数据卷 不存在刻意自动创建networks:- helloredis_base:image: redis:6.2.5ports:- "6379:6379"container_name: redis_baserestart: alwaysvolumes:- /root/volumes/redisdata:/datacommand: redis-server --appendonly yesnetworks:- hellorabbitmq_base:image: rabbitmq:3.7.28-managementports:- "5672:5672"- "15672:15672"container_name: rabbitmq_baserestart: alwaysnetworks:- hellominio_base:image: minio/minio:RELEASE.2022-06-20T23-13-45Z.fipsports:- "9000:9000"- "9090:9090"container_name: minio_baserestart: alwaysenvironment:- "MINIO_ACCESS_KEY=minioadmin"- "MINIO_SECRET_KEY=minioadmin"volumes:- /home/minio/data:/data- /home/minio/config:/root/.minionetworks:- hellovolumes: #声明项目中使用的所有卷fff:
networks:hello:
6.启动docker-compose
docker-compose up -d

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

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

相关文章

uniapp使用scroll-into-view实现锚点定位和滚动监听功能【楼层效果 / 侧边导航联动效果】

大佬网址&#xff1a; https://blog.csdn.net/weixin_47136265/article/details/132303570 效果 代码 <template><view class"main"><scroll-view scroll-y"true" class"left-content"><view class"left-item"…

目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)

文章目录 一、演示多分类效果二、PaddleClas介绍三、代码获取四、数据集获取五、环境搭建六、数据格式分析七、模型训练7.1 模型恢复训练7.2 多卡训练7.3 其他训练指标 八、模型预测九、模型评估十、PaddleClas相关博客 一、演示多分类效果 二、PaddleClas介绍 PaddleClas主要…

Java实现文档格式转换与模板渲染 LibreOffice jodconverter

Java Office 一、文档格式转换 文档格式转换是office操作中经常需要进行一个操作&#xff0c;例如将docx文档转换成pdf格式。 java在这方面有许多的操作方式&#xff0c;大致可以分为内部调用&#xff08;无需要安装额外软件&#xff09;&#xff0c;外部调用&#xff08;需…

【boost网络库从青铜到王者】第七篇:asio网络编程中的异步echo服务器,以应答为主

文章目录 1、简介2、echo模式应答异步服务器2.1、Session会话类2.2、Server类为服务器接收连接的管理类 3、客户端4、隐患5、总结 1、简介 前文已经介绍了异步操作的api&#xff0c;今天写一个简单的异步echo服务器&#xff0c;以应答为主。 2、echo模式应答异步服务器 2.1、…

【Unity的HDRP渲染管线下实现好用的GUI模糊和外描边流光效果_Blur_OutLine_案例分享(内附源码)】

实现好用的模糊效果_Blur HDRP渲染管线下搭建场景创建RenderTextureRenderTexture 与相机的配置:UI层 Canvas的不同Render Mode:Canvas 在Screen Space - Overlay 模式下:UI旋转Y轴,没有透视。切换到Screen Space - Camera 模式下:UI层跑到物体后面去了,将Plane Distance…

【钻石OA】1区SCI,无需版面费,仅2个月录用!

重 点 本期推荐 本期小编给大家推荐的是无需版面费的1区农林科学类SCI&#xff08;钻石OA&#xff09;。 目前进展顺利&#xff0c;在WOS数据库中各项指标表现良好&#xff0c;且无预警记录。 领域符合录用率高&#xff0c;1区SCI最快2个月录用&#xff01; 期刊官网系统提…

centos 部署 xray 漏洞扫描器

目录 1、部署 xray 2、部署测试靶场 jdk8 安装 tomcat 部署 3、测试 基础 web 扫描

记一次正式环境升级docker服务基础进行版本异常

因为服务的httpd和tomcat基础镜像版本比较旧&#xff0c;漏洞多&#xff0c;需要升级至最新版本。在本地环境和测试环境都是直接将dockerfile中的FROM基础镜像升级至最新&#xff1a; httpd&#xff1a;由httpd:2.4.52-alpine升级至httpd:2.4.57 tomcat&#xff1a;由4年前的…

resource android:attr/lStar not found.和unknown tag <:string>问题

resource android:attr/lStar not found. 检查androidx.core:core-ktx包的版本是否指定&#xff0c;没有指定版本需要指定版本号 implementation ‘androidx.core:core-ktx:1.3.2’ unknown tag <:string> 原因与字符串数组有关。在你的string.xml检查你是否有空 或类…

零距离揭秘绝地求生:玩家最关心的吃鸡要领和细节全攻略!

绝地求生作为当下最火爆的吃鸡游戏&#xff0c;吸引了无数玩家的关注和参与。然而&#xff0c;要成为顶尖的吃鸡玩家&#xff0c;并不简单。在这篇文章中&#xff0c;我们将为你揭露绝地求生玩家最关心的吃鸡要领和细节&#xff0c;为你提供一份全方位的游戏指南&#xff01; 1…

vue内置组件Transition的详解

1. Transition定义 Vue 提供了两个内置组件&#xff0c;可以帮助你制作基于状态变化的过渡和动画&#xff1a; <Transition>会在一个元素或组件进入和离开 DOM 时应用动画。 <TransitionGroup> 会在一个 v-for 列表中的元素或组件被插入&#xff0c;移动&#xff0…

八大排序详解

目录 1.排序的概念及应用 1.1 排序的概念 1.2 排序的应用 1.3 常见的排序算法 2.常见排序算法的实现 2.1 直接插入排序 2.1.1 基本思想 2.1.2 动图解析 2.1.3 排序步骤&#xff08;默认升序&#xff09; 2.1.4 代码实现 2.1.5 特性总结 2.2 希尔排序 2.2.1 基本思…

修改Jenkins主目录

Windows系统上安装了Jenkins后&#xff0c;默认数据目录&#xff0c;也就是工作区目录&#xff0c;即&#xff1a;每次构建的项目数据文件所在目录为&#xff1a; 随着构建项目的增多&#xff0c;一直用这个目录&#xff0c;C盘东西越来越多&#xff0c;电脑就会越来越卡&#…

【链表】排序链表-力扣148题

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…

Leetcode.198 打家劫舍

题目链接 Leetcode.198 打家劫舍 mid 题目描述 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统…

3+单基因泛癌+铜死亡纯生信思路

今天给同学们分享一篇3单基因泛癌铜死亡纯生信思路的生信文章“Systematic pan-cancer analysis identifies SLC31A1 as a biomarker in multiple tumor types”&#xff0c;这篇文章于2023年3月27日发表在BMC Med Genomics 期刊上&#xff0c;影响因子为3.622。 溶质载体家族3…

面试必杀技:Jmeter性能测试攻略大全(第一弹)

前言 性能测试是一个全栈工程师/架构师必会的技能之一&#xff0c;只有学会性能测试&#xff0c;才能根据得到的测试报告进行分析&#xff0c;找到系统性能的瓶颈所在&#xff0c;而这也是优化架构设计中重要的依据。 第一章 测试流程&#xff1a; 需求分析→环境搭建→测试…

【IDEA】idea恢复pom.xml文件显示灰色并带有删除线

通过idea打开spring boot项目后&#xff0c;发现每个服务中的pom.xml文件显示灰色并带有删除线&#xff0c;下面为解决方案 问题截图 解决方案 打开file——settings——build,execution,deployment——Ignored Files&#xff0c;把pom.xml前面的复选框去掉&#xff0c;去掉之…

IPV6知识总结

目录 一、IPV6与IPV4相比改进之处1. “无限“的地址空间2. 层次化的地址结构3. 即插即用4. 简化了报头头部5.保证端到端网络的完整性6.安全性增强7.增强QoS特性 二、IPV6的规则IPV6地址主要分为了三类&#xff1a;单播地址&#xff0c;组播地址&#xff0c;任播地址单播地址组播…

centos软件设置开机启动的方式

以下以redis作为案例&#xff1a; 开机启动方式一 [Unit] Descriptionredis-server Afternetwork.target [Service] Typeforking # 这里需要修改自己的配置文件 ExecStart/usr/local/bin/redis-server /etc/redis/redis.conf PrivateTmptrue [Install] WantedBymulti-user.tar…