最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Docker 部署 Spring Boot 項(xiàng)目整合 Redis 鏡像做訪問計(jì)數(shù) Demo

2023-08-06 17:00 作者:good7ob  | 我要投稿

第一章 - 引言


在現(xiàn)代應(yīng)用開發(fā)中,容器化技術(shù)已經(jīng)成為一種流行的解決方案。Docker作為最受歡迎的容器平臺之一,為開發(fā)人員提供了一種簡單、快速和可移植的方式來構(gòu)建、部署和管理應(yīng)用程序。本文將介紹如何使用Docker部署一個(gè)Spring Boot項(xiàng)目,并結(jié)合Redis鏡像實(shí)現(xiàn)訪問計(jì)數(shù)的功能。

第一節(jié) - 準(zhǔn)備工作


在開始之前,我們需要準(zhǔn)備以下工作:


  1. 安裝Docker:在你的開發(fā)環(huán)境中安裝Docker,確??梢哉_\(yùn)行Docker命令。


  1. 編寫Spring Boot項(xiàng)目:準(zhǔn)備一個(gè)簡單的Spring Boot項(xiàng)目,用于實(shí)現(xiàn)訪問計(jì)數(shù)的功能??梢允褂肕aven或Gradle構(gòu)建工具來創(chuàng)建項(xiàng)目。


  1. 安裝Redis客戶端:在Spring Boot項(xiàng)目中使用Redis,我們需要安裝Redis客戶端庫??梢允褂肑edis、Lettuce等客戶端庫來連接和操作Redis。


第二節(jié) - 編寫Spring Boot項(xiàng)目


步驟一:添加依賴


在Spring Boot項(xiàng)目的pom.xml(如果使用Maven)或build.gradle(如果使用Gradle)文件中,添加Redis和Spring Boot的相關(guān)依賴。


Maven的pom.xml示例:


<dependencies>

?<!-- Spring Boot Starter -->

?<dependency>

??? ?<groupId>org.springframework.boot</groupId>

??? ?<artifactId>spring-boot-starter-web</artifactId>

?</dependency>



?<!-- Redis Client -->

?<dependency>

??? ?<groupId>redis.clients</groupId>

??? ?<artifactId>jedis</artifactId>

??? ?<version>3.7.0</version>

?</dependency>

</dependencies>


Gradle的build.gradle示例:


dependencies?{

?// Spring Boot Starter

?implementation?'org.springframework.boot:spring-boot-starter-web'



?// Redis Client

?implementation?'redis.clients:jedis:3.7.0'

}



在上面的示例中,我們添加了Spring Boot Web Starter和Jedis依賴,用于構(gòu)建Web應(yīng)用和連接Redis。


步驟二:編寫訪問計(jì)數(shù)功能


在Spring Boot項(xiàng)目中,我們可以創(chuàng)建一個(gè)Controller類,并編寫一個(gè)簡單的接口來實(shí)現(xiàn)訪問計(jì)數(shù)的功能。


import?org.springframework.web.bind.annotation.GetMapping;

import?org.springframework.web.bind.annotation.RestController;

import?redis.clients.jedis.Jedis;



@RestController

public?class?CounterController?{



?private?final?Jedis?jedis?=?new?Jedis("redis",?6379);?// Redis服務(wù)器的地址和端口



?@GetMapping("/")

?public?String?home() {

??? ?// 增加訪問計(jì)數(shù)

??? ?jedis.incr("counter");



??? ?// 獲取訪問計(jì)數(shù)

??? ?String?counter?=?jedis.get("counter");



??? ?return?"訪問次數(shù):"?+?counter;

}

}



在上面的示例中,我們創(chuàng)建了一個(gè)名為CounterController的RestController類。在home()方法中,我們使用Jedis客戶端連接到Redis服務(wù)器,并使用incr()方法增加訪問計(jì)數(shù)。然后,我們使用get()方法獲取訪問計(jì)數(shù),并將其返回給客戶端。


步驟三:運(yùn)行Spring Boot項(xiàng)目


通過運(yùn)行Spring Boot項(xiàng)目,我們可以在本地驗(yàn)證訪問計(jì)數(shù)功能是否正常工作。


在命令行中,導(dǎo)航到項(xiàng)目的根目錄,并運(yùn)行以下命令:


$?./mvnw spring-boot:run


或者,如果你使用Gradle構(gòu)建工具:


$?./gradlew bootRun



Spring Boot將啟動(dòng)應(yīng)用程序,并監(jiān)聽默認(rèn)的8080端口。


現(xiàn)在,我們可以在瀏覽器中訪問http://localhost:8080,并多次刷新頁面,觀察訪問計(jì)數(shù)是否增加。


第三節(jié) - 創(chuàng)建Docker鏡像


步驟一:編寫Dockerfile


在項(xiàng)目的根目錄下創(chuàng)建一個(gè)名為Dockerfile的文件,并添加以下內(nèi)容:


FROM?adoptopenjdk:11-jre-hotspot



WORKDIR?/app



COPY?target/demo.jar /app



CMD?["java", "-jar", "demo.jar"]



在上面的Dockerfile中,我們使用AdoptOpenJDK 11鏡像作為基礎(chǔ)鏡像。然后,將項(xiàng)目構(gòu)建生成的可執(zhí)行Jar文件(假設(shè)為demo.jar)復(fù)制到容器的/app目錄下。最后,使用CMD指令來定義容器啟動(dòng)時(shí)執(zhí)行的命令。


步驟二:構(gòu)建Docker鏡像


在項(xiàng)目的根目錄下打開終端,運(yùn)行以下命令來構(gòu)建Docker鏡像:


$ docker?build?-t?springboot-redis-demo .


該命令將使用Dockerfile中的指令構(gòu)建一個(gè)名為springboot-redis-demo的Docker鏡像。


第四節(jié) - 使用Docker Compose 部署應(yīng)用


步驟一:創(chuàng)建Docker Compose文件


在項(xiàng)目的根目錄下創(chuàng)建一個(gè)名為docker-compose.yml的文件,并添加以下內(nèi)容:


version:?'3'

services:

app:

image:?springboot-redis-demo

ports:

? \- 8080:8080

depends_on:

? \- redis

redis:

image:?redis:latest

ports:

? \- 6379:6379


在上面的示例中,我們定義了兩個(gè)服務(wù):app和redis。app服務(wù)使用我們之前構(gòu)建的Spring Boot應(yīng)用鏡像,并將容器的8080端口映射到主機(jī)的8080端口。redis服務(wù)使用最新的Redis鏡像,并將容器的6379端口映射到主機(jī)的6379端口。


步驟二:啟動(dòng)應(yīng)用


在終端中,導(dǎo)航到項(xiàng)目的根目錄,并運(yùn)行以下命令來啟動(dòng)應(yīng)用:


$ docker-compose?up


Docker Compose將自動(dòng)構(gòu)建和啟動(dòng)應(yīng)用的容器。你可以在終端中看到容器的日志輸出,并且應(yīng)用將在本地的8080端口上運(yùn)行。


現(xiàn)在,你可以在瀏覽器中訪問http://localhost:8080,并多次刷新頁面,觀察訪問計(jì)數(shù)是否增加。同時(shí),你可以通過Redis客戶端工具連接到容器中的Redis實(shí)例,檢查訪問計(jì)數(shù)的值是否在增加。


第五節(jié) - 結(jié)語


通過本文的介紹和示例,你學(xué)習(xí)了如何使用Docker部署Spring Boot項(xiàng)目并整合Redis鏡像來實(shí)現(xiàn)訪問計(jì)數(shù)的功能。首先,我們編寫了一個(gè)簡單的Spring Boot項(xiàng)目,并使用Redis客戶端庫連接和操作Redis。然后,我們創(chuàng)建了Docker鏡像,并使用Docker Compose將Spring Boot應(yīng)用和Redis容器編排在一起,實(shí)現(xiàn)了整個(gè)應(yīng)用的部署。


使用Docker和Docker Compose部署應(yīng)用可以帶來許多好處,如隔離性、可移植性和易于擴(kuò)展。通過將應(yīng)用與依賴項(xiàng)打包在一起,我們可以確保應(yīng)用在不同的環(huán)境中具有相同的行為,并且能夠輕松地進(jìn)行部署和管理。


希望通過本文的指導(dǎo),你能夠更好地理解和應(yīng)用Docker和Docker Compose,以便在實(shí)際項(xiàng)目中更高效地部署和管理應(yīng)用程序。愿你在使用Docker和容器化技術(shù)的旅程中取得更大的成功!



Docker 部署 Spring Boot 項(xiàng)目整合 Redis 鏡像做訪問計(jì)數(shù) Demo的評論 (共 條)

分享到微博請遵守國家法律
焉耆| 法库县| 金平| 赤峰市| 怀化市| 江阴市| 肇庆市| 宜兴市| 东乡族自治县| 平陆县| 枣阳市| 汉阴县| 西盟| 郑州市| 云浮市| 鹤庆县| 渝北区| 宿松县| 平乡县| 叶城县| 航空| 涿鹿县| 桃园市| 左权县| 黄梅县| 五寨县| 武陟县| 淮南市| 咸阳市| 黄大仙区| 巨鹿县| 偏关县| 南皮县| 洛隆县| 历史| 东城区| 高州市| 海宁市| 永靖县| 巍山| 都匀市|