小知识:Docker中部署Redis集群与部署微服务项目的详细过程

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-猿站网-插图

一、使用Docker部署好处

Docker的好处在于:不同实例运行相同的容器

Docker的五大优点: 持续部署与测试、多云服务平台支持环境标准化和版本控制、隔离、安全

二、Docker 与 Kubernetes 对比

Docker适用于较为小的应用,并发量不大的情况下、微服务为超过10个,建议适用Docker部署,这样也省资源、可减少开发成本。

K8S适用于大集群的情况,高并发,并且微服务超过了10个,同时性能也是非常好的,性能好的前提下,开发成本也增加了不少

三、Redis集群部署实战

下面部署如图所示三主三从的Redis集群

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-1猿站网-插图

停掉所有的容器,删除全部记录

docker rm $(docker ps -a –q)

创建自定义网络redis

docker network create redis –subnet 172.38.0.0/16

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-2猿站网-插图

通过脚本创建六个redis的基本信息

for port in $(seq 1 6); do mkdir -p /mydata/redis/node-${port}/conf touch /mydata/redis/node-${port}/conf/redis.conf cat << EOF &gt;/mydata/redis/node-${port}/conf/redis.conf port 6379 bind 0.0.0.0 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 cluster-announce-ip 172.38.0.1${port} cluster-announce-port 6379 cluster-announce-bus-port 16379 appendonly yes EOF done

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-3猿站网-插图

启动6个redis容器,并进行数据挂载

# 通过脚本一次性启动 for port in $(seq 1 6); do docker run -p 637${port}:6379 -p 1637${port}:16379 –name redis-${port} –v /mydata/redis/node-${port}/data:/data -v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf -d –net redis –ip 172.38.0.1${port} redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf; done

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-4猿站网-插图

进入redis-1中设置创建集群

# 进入redis-1 docker exec -it redis-1 /bin/sh # 创建集群 redis-cli –cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13 :6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 –cluster-replicas 1

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-5猿站网-插图

进入容器

redis-cli -c # 查看详细信息 CLUSTER INFO

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-6猿站网-插图

查看nodes

CLUSTER NODES

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-7猿站网-插图

设置值

set k1 v1

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-8猿站网-插图

我们可以看到,将值设置在了 13节点上,我们把该节点停止,再次获取值查看

# 新开窗口停止redis-3容器 docker stop redis -3

在原来窗口获取k1

# 需要重新进入再次获取 get k1

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-9猿站网-插图

可以看到,值已经同步到了其它节点,主节点挂掉后,我们照样可以拿到值!

四、Spring Boot项目 打包镜像

创建一个SpringBoot项目

TestController

@RestController public class TestController { @GetMapping(“/hello”) public String hello() { return “Hello World!!!”; } }

本地测试成功访问,然后编译项目为jar

// 进入项目目录 mvn clean package

下载Docker镜像

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-10猿站网-插图

编写Dockerfile

FROM java:8 COPY *.jar /app.jar CMD [“–server.port=8080”] EXPOSE 8080 ENTRYPOINT [“java”, “-jar”, “/app.jar”]

将jar包和Dockerfile上传至服务器

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-11猿站网-插图

服务器文件

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-12猿站网-插图

编译Dockerfile

docker build -t xiaowang .

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-13猿站网-插图

测试访问

curl localhost:49153

%小知识:Docker中部署Redis集群与部署微服务项目的详细过程-14猿站网-插图

成功上传镜像!

小结

以上就是【Bug 终结者】对 Docker实战 – 部署Redis集群与部署微服务项目 的简单介绍,使用Docker部署我们的应用很方便,快捷,但是架构庞大的话,就不建议使用Docker了,可以采用我们的k8s集群部署,是当下最流行的技术!

到此这篇关于Docker中部署Redis集群与部署微服务项目的文章就介绍到这了,更多相关Redis集群与部署微服务项目内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/weixin_45526437/article/details/125384327

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Docker中的COPY指令和ADD指令详解

2023-3-6 14:22:05

建站知识

小知识:Containerd容器运行yum安装与二进制安装

2023-3-6 14:28:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索