如何利用Docker部署一個簡單的springboot項目
1、首先利用docker部署一個redis中間件
這里注意兩個問題:
掛載兩個redis文件
- redis的配置文件 redis.conf
- 掛載redis的數(shù)據(jù)目錄

1.1、下載redis鏡像
docker pull redis

1.2、在主機創(chuàng)建redis掛載的目錄和文件
mkdir /root/data/redis

創(chuàng)建redis.conf,里面的內(nèi)容為:
appendonly yes requirepass ABC@123
1.3、部署redis中間件
部署一個Redis+應(yīng)用,嘗試應(yīng)用操作Redis產(chǎn)生數(shù)據(jù)
##運行redis鏡像 docker run -v /root/data/redis/redis.conf:/etc/redis/redis.conf \ -v /root/data/redis/data:/data \ -d --name myredis \ -p 6379:6379 \ redis:latest redis-server /etc/redis/redis.conf
redis使用自定義位置的配置文件啟動命令。
redis啟動成功

使用redis桌面連接工具redisdestopmanager測試連接docker啟動的redis應(yīng)用:
注意這邊要記住放行安全組中的6379端口?。。?!

連接成功!?。?/p>

2、創(chuàng)建springboot項目
使用下面的方式創(chuàng)建一個簡單的springboot項目:
https://start.spring.io/

使用idea打開下載的項目,刪除無用文件和文件夾,等待下載所需依賴。

2.1、修改application.yml
spring:
data:
redis:
host: xx.xx.xx.xx
port: 6379
password: ABC@1232.2、編寫controller
/**
* @Author tigerhhzz
* @Date 2024 02 20 10 48
* 統(tǒng)計訪問頁面的人數(shù)
**/
@RestController
public class CounterController {
@Autowired
StringRedisTemplate redisTemplate;
@GetMapping("/hello")
public String count(){
Long increment = redisTemplate.opsForValue().increment("count-person");
return "有【"+ increment +"】人訪問了這個頁面";
}
}
2.3、啟動應(yīng)用并測試訪問

查看redis的count-person的值的變化:

3、將應(yīng)用打包成鏡像
編寫Dockerfile將自己的應(yīng)用打包鏡像
所有機器都安裝Docker,任何應(yīng)用都是鏡像,所有機器都可以運行。
3.1、編寫Dockerfile
FROM openjdk:17-jdk-alpine LABEL maintainer=tigerhhzz COPY target/*.jar /app.jar ENTRYPOINT ["java","-jar","/app.jar"]

3.2、上傳文件到服務(wù)器
上傳的文件為jar包和Dockerfile文件

利用xshell工具上傳文件

3.3、制作java應(yīng)用鏡像
docker build -t java-demo:v1.0 .

鏡像制作完成,查看java-demo鏡像:

4、啟動容器
啟動應(yīng)用容器
docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0
啟動成功:

5、訪問測試

6、鏡像應(yīng)用分享與啟動
6.1、推送到阿里云個人鏡像倉庫
##登錄阿里云Docker Registry docker login --username=aliyun2164344789 registry.cn-zhangjiakou.aliyuncs.com ##打標簽 docker tag 596b1bd9b839 registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0 ##推送鏡像 docker push registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0

鏡像推送成功

6.2、新的主機拉取鏡像并啟動容器
docker pull registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0
查看鏡像
docker images

運行鏡像
docker run -d -p 8080:8080 --name tigerhhzz-java-app registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0
訪問測試

兩臺機子并發(fā)訪問

到此這篇關(guān)于如何利用Docker部署一個簡單的springboot項目的文章就介紹到這了,更多相關(guān)Docker部署springboot項目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker Attach 命令及操作場景應(yīng)用(容器交互機制)
Docker attach用于連接運行容器的IO流,實現(xiàn)調(diào)試與監(jiān)控,核心參數(shù)包括--detach-keys自定義退出鍵、--no-stdin避免誤操作,生產(chǎn)環(huán)境建議配合安全配置使用,開發(fā)環(huán)境可靈活操作,接下來通過本文給大家介紹Docker Attach 命令的操作應(yīng)用,感興趣的朋友一起看看吧2025-08-08
使用docker創(chuàng)建集成服務(wù)lnmp環(huán)境
本篇文章主要介紹了使用docker創(chuàng)建集成服務(wù)lnmp環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04
-bash:?docker-compose未找到命令的解決方案
這篇文章主要介紹了-bash:?docker-compose:?未找到命令,需要的朋友可以參考下2023-12-12
Docker利用commit命令構(gòu)建鏡像的實現(xiàn)示例
本文主要介紹了Docker利用commit命令構(gòu)建鏡像的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-12-12
超詳細Docker Desktop下安裝rocketmq的教程
這篇文章主要介紹了Docker Desktop下安裝rocketmq,本文內(nèi)容通過圖文操作命令給大家講解的非常詳細,需要的朋友可以參考下2021-10-10
Docker?安裝啟動Jenkins的方法(docker-compose)
這篇文章主要介紹了Docker?安裝啟動?Jenkins(docker-compose)的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
Docker網(wǎng)絡(luò)配置及部署SpringCloud項目詳解
bridge模式是Docker默認的網(wǎng)絡(luò)設(shè)置,此模式會為每一個容器分配Network Namespace、設(shè)置IP等,并將一個主機上的Docker容器連接到一個虛擬網(wǎng)橋上,下面這篇文章主要給大家介紹了關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項目的相關(guān)資料,需要的朋友可以參考下2023-01-01

