别裁伪体亲风雅,转益多师是汝师。这篇文章主要讲述Docker实战 -- 部署Redis集群与部署微服务项目相关的知识,希望能为你提供帮助。
文章图片
一、使用Docker部署的好处Docker的好处在于:在不同实例上运行相同的容器Docker的五大优点: ?
?持续部署与测试?
?、??多云服务平台支持?
? 、
??环境标准化和版本控制?
? 、??隔离?
?、??安全?
?二、Docker 与 Kubernetes 对比Docker适用于较为小的应用,并发量不大的情况下、微服务为超过10个,建议适用Docker部署,这样也省资源、可减少开发成本。K8S适用于大集群的情况,高并发,并且微服务超过了10个,同时性能也是非常好的,性能好的前提下,开发成本也增加了不少!
三、Redis集群部署实战下面部署如图所示三主三从的Redis集群
文章图片
停掉所有的容器,删除全部记录
docker rm $(docker ps -a -q)
创建自定义网络redis
docker network create redis --subnet 172.38.0.0/16
文章图片
通过脚本创建六个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 > /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
文章图片
启动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
文章图片
进入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
文章图片
进入容器
redis-cli -c
# 查看详细信息
CLUSTER INFO
文章图片
查看nodes
CLUSTER NODES
文章图片
设置值
set k1 v1
文章图片
我们可以看到,将值设置在了 13节点上,我们把该节点停止,再次获取值查看
# 新开窗口停止redis-3容器
docker stop redis -3
在原来窗口获取k1
# 需要重新进入再次获取
get k1
文章图片
可以看到,值已经同步到了其它节点,主节点挂掉后,我们照样可以拿到值!
四、Spring Boot项目 打包镜像创建一个SpringBoot项目TestController
@RestController
public class TestController
@GetMapping("/hello")
public String hello()
return "Hello World!!!";
本地测试成功访问,然后编译项目为jar包
// 进入项目目录
mvn clean package
下载Docker镜像
文章图片
编写Dockerfile
FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]
将jar包和Dockerfile上传至服务器
文章图片
服务器文件
文章图片
编译Dockerfile
docker build -t xiaowang .
文章图片
测试访问
curl localhost:49153
文章图片
成功上传镜像!
?小结以上就是【小王 Java】对 Docker实战 -- 部署Redis集群与部署微服务项目 的简单介绍,使用Docker部署我们的应用很方便,快捷,但是架构庞大的话,就不建议使用Docker了,可以采用我们的k8s集群部署,是当下最流行的技术!
【Docker实战 -- 部署Redis集群与部署微服务项目】> 如果这篇【文章】有帮助到你,希望可以给【小王 Java】点个赞
推荐阅读
- 防火墙基础之华为华三防火墙web页面登录
- CentOS dlib安装
- 树梅派学习 4. 双色LED实验
- Spring 中毒太深,离开 Spring 居然连最基本的接口都不会写了!
- CentOS7 安装SFTP
- Python数据可视化库pyecharts
- CentOS7 tcpdump安装与使用
- CentOS7 最小化安装完配置
- ZooKeeper学习笔记一 一致性协议