Docker中部署Redis集群與部署微服務(wù)項(xiàng)目的詳細(xì)過程
一、使用Docker部署的好處
Docker的好處在于:在不同實(shí)例上運(yùn)行相同的容器
Docker的五大優(yōu)點(diǎn): 持續(xù)部署與測(cè)試
、多云服務(wù)平臺(tái)支持
、環(huán)境標(biāo)準(zhǔn)化和版本控制
、隔離
、安全
二、Docker 與 Kubernetes 對(duì)比
Docker適用于較為小的應(yīng)用,并發(fā)量不大的情況下、微服務(wù)為超過10個(gè),建議適用Docker部署,這樣也省資源、可減少開發(fā)成本。
K8S適用于大集群的情況,高并發(fā),并且微服務(wù)超過了10個(gè),同時(shí)性能也是非常好的,性能好的前提下,開發(fā)成本也增加了不少!
三、Redis集群部署實(shí)戰(zhàn)
下面部署如圖所示三主三從的Redis集群
停掉所有的容器,刪除全部記錄
docker rm $(docker ps -a -q)
創(chuàng)建自定義網(wǎng)絡(luò)redis
docker network create redis --subnet 172.38.0.0/16
通過腳本創(chuàng)建六個(gè)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
啟動(dòng)6個(gè)redis容器,并進(jìn)行數(shù)據(jù)掛載
# 通過腳本一次性啟動(dòng) 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
進(jìn)入redis-1中設(shè)置創(chuàng)建集群
# 進(jìn)入redis-1 docker exec -it redis-1 /bin/sh # 創(chuàng)建集群 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
進(jìn)入容器
redis-cli -c # 查看詳細(xì)信息 CLUSTER INFO
查看nodes
CLUSTER NODES
設(shè)置值
set k1 v1
我們可以看到,將值設(shè)置在了 13節(jié)點(diǎn)上,我們把該節(jié)點(diǎn)停止,再次獲取值查看
# 新開窗口停止redis-3容器 docker stop redis -3
在原來窗口獲取k1
# 需要重新進(jìn)入再次獲取 get k1
可以看到,值已經(jīng)同步到了其它節(jié)點(diǎn),主節(jié)點(diǎn)掛掉后,我們照樣可以拿到值!
四、Spring Boot項(xiàng)目 打包鏡像
創(chuàng)建一個(gè)SpringBoot項(xiàng)目
TestController
@RestController public class TestController { @GetMapping("/hello") public String hello() { return "Hello World!!!"; } }
本地測(cè)試成功訪問,然后編譯項(xiàng)目為jar包
// 進(jìn)入項(xiàng)目目錄 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上傳至服務(wù)器
服務(wù)器文件
編譯Dockerfile
docker build -t xiaowang .
測(cè)試訪問
curl localhost:49153
成功上傳鏡像!
?小結(jié)
以上就是【Bug 終結(jié)者】對(duì) Docker實(shí)戰(zhàn) – 部署Redis集群與部署微服務(wù)項(xiàng)目 的簡(jiǎn)單介紹,使用Docker部署我們的應(yīng)用很方便,快捷,但是架構(gòu)龐大的話,就不建議使用Docker了,可以采用我們的k8s集群部署,是當(dāng)下最流行的技術(shù)!
到此這篇關(guān)于Docker中部署Redis集群與部署微服務(wù)項(xiàng)目的文章就介紹到這了,更多相關(guān)Redis集群與部署微服務(wù)項(xiàng)目?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 基于docker搭建redis集群的方法
- Docker上實(shí)現(xiàn)Redis集群搭建
- docker實(shí)現(xiàn)redis集群搭建的方法步驟
- docker-compose啟動(dòng)redis集群的實(shí)現(xiàn)步驟
- Docker中redis集群部署實(shí)戰(zhàn)
- Docker-Compose搭建Redis集群的實(shí)現(xiàn)教程
- Docker-compose搭建Redis集群(Sentinel)的實(shí)現(xiàn)
- 基于docker的redis集群的搭建方式
- Docker網(wǎng)絡(luò)之部署redis集群方式
- Docker搭建redis集群的實(shí)現(xiàn)
相關(guān)文章
kali安裝docker及搭建漏洞環(huán)境的詳細(xì)教程
Docker?是一個(gè)開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化,本文重點(diǎn)給大家介紹kali安裝docker及搭建漏洞環(huán)境的過程,感興趣的朋友一起看看吧2022-05-05Docker通過容器生成鏡像提交DockerCommit詳解
這篇文章主要介紹了Docker通過容器生成鏡像提交DockerCommit的詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-09-09教你如何利用docker-maven-plugin自動(dòng)化部署
本文通過兩個(gè)例子給大家講解如何利用docker-maven-plugin自動(dòng)化部署,給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-09-09為運(yùn)行中的docker容器設(shè)置時(shí)區(qū)
本文主要介紹了為運(yùn)行中的docker容器設(shè)置時(shí)區(qū),主要介紹了2種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05基于docker-compose構(gòu)建Mongodb副本集的示例詳解
副本集是?MongoDB?高可用性和數(shù)據(jù)安全性策略的基礎(chǔ),適用于對(duì)數(shù)據(jù)安全性和服務(wù)可用性有較高要求的場(chǎng)景,本文給大家介紹了如何基于docker-compose構(gòu)建Mongodb副本集,文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01CentOS修改docker鏡像存儲(chǔ)位置并進(jìn)行數(shù)據(jù)遷移的操作方法
本文詳細(xì)介紹了在CentOS上修改Docker鏡像存儲(chǔ)位置并進(jìn)行數(shù)據(jù)遷移的步驟,包括停止Docker服務(wù)、創(chuàng)建新的存儲(chǔ)目錄、復(fù)制現(xiàn)有數(shù)據(jù)、修改Docker配置、重啟Docker服務(wù)、驗(yàn)證配置、清理舊數(shù)據(jù)(可選)以及檢查容器和鏡像,感興趣的朋友一起看看吧2025-01-01