如何利用Docker部署一個簡單的springboot項(xiàng)目
1、首先利用docker部署一個redis中間件
這里注意兩個問題:
掛載兩個redis文件
- redis的配置文件 redis.conf
- 掛載redis的數(shù)據(jù)目錄
1.1、下載redis鏡像
docker pull redis
1.2、在主機(jī)創(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ù)
##運(yùn)行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端口?。。。?/strong>
連接成功?。。?/p>
2、創(chuàng)建springboot項(xiàng)目
使用下面的方式創(chuàng)建一個簡單的springboot項(xiàng)目:
https://start.spring.io/
使用idea打開下載的項(xiàng)目,刪除無用文件和文件夾,等待下載所需依賴。
2.1、修改application.yml
spring: data: redis: host: xx.xx.xx.xx port: 6379 password: ABC@123
2.2、編寫controller
/** * @Author tigerhhzz * @Date 2024 02 20 10 48 * 統(tǒng)計(jì)訪問頁面的人數(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)用打包鏡像
所有機(jī)器都安裝Docker,任何應(yīng)用都是鏡像,所有機(jī)器都可以運(yùn)行。
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 ##打標(biāo)簽 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、新的主機(jī)拉取鏡像并啟動容器
docker pull registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0
查看鏡像
docker images
運(yùn)行鏡像
docker run -d -p 8080:8080 --name tigerhhzz-java-app registry.cn-zhangjiakou.aliyuncs.com/tiger-aliyun-namespace/tigerhhzz-java-demo:v1.0
訪問測試
兩臺機(jī)子并發(fā)訪問
到此這篇關(guān)于如何利用Docker部署一個簡單的springboot項(xiàng)目的文章就介紹到這了,更多相關(guān)Docker部署springboot項(xiàng)目內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- docker部署springboot項(xiàng)目啟動時(shí)間與宿主機(jī)相差8小時(shí)的解決
- SpringBoot多模塊打包部署Docker的項(xiàng)目實(shí)戰(zhàn)
- 使用docker部署springboot項(xiàng)目到服務(wù)器的詳細(xì)過程
- dockerfile的使用及使用dockerfile部署springboot項(xiàng)目的過程
- Jenkins+Docker?一鍵自動化部署?SpringBoot?項(xiàng)目的詳細(xì)步驟
- Gitlab-runner+Docker實(shí)現(xiàn)自動部署SpringBoot項(xiàng)目
- idea快速實(shí)現(xiàn)將SpringBoot項(xiàng)目打包Docker鏡像并部署
- Docker部署SpringBoot應(yīng)用的實(shí)現(xiàn)步驟
- Docker compose部署SpringBoot項(xiàng)目連接MySQL及遇到的坑
- 基于SpringBoot項(xiàng)目實(shí)現(xiàn)Docker容器化部署的主要步驟
相關(guān)文章
解決docker搭建gitlab時(shí)容器不停重啟的問題
這篇文章主要介紹了docker搭建gitlab時(shí)容器不停重啟的問題,當(dāng)用docker log 查看日志時(shí),發(fā)現(xiàn)問題是在于配置文件沒有權(quán)限創(chuàng)建的問題,本文給大家分享解決方案,感興趣的朋友一起看看吧2022-05-05Docker搭建LibreSpeed的實(shí)現(xiàn)步驟
LibreSpeed 是一個輕量級的網(wǎng)絡(luò)速度測試工具,本文主要介紹了Docker搭建LibreSpeed的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-04-04關(guān)于docker?compose安裝redis集群的問題(集群擴(kuò)容、集群收縮)
這篇文章主要介紹了docker?compose安裝redis集群、集群擴(kuò)容、集群收縮,主要包括redis配置信息模板,編寫批量生成配置文件腳本的相關(guān)命令,需要的朋友參考下吧2022-03-03Windows?Docker部署Kong網(wǎng)關(guān)的實(shí)現(xiàn)步驟
Kong是一個輕量級、快速、靈活的云原生API網(wǎng)關(guān),本文主要介紹了Windows?Docker部署Kong網(wǎng)關(guān)的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03如何解決啟動docker desktop報(bào)The network name ca
在使用Docker Desktop時(shí),可能遇到"The network name cannot be found"的錯誤,解決這個問題的方法是打開管理員權(quán)限的終端,執(zhí)行重啟Docker Desktop的相關(guān)命令,如果遇到虛擬化未開啟的提示,需要執(zhí)行“bcdedit /set hypervisorlaunchtype auto”2024-10-10docker容器內(nèi)網(wǎng)絡(luò)請求緩慢問題解決
在使用docker的過程中發(fā)現(xiàn)了幾個問題,在docker里進(jìn)行的網(wǎng)絡(luò)請求經(jīng)常會失敗,這篇文章主要介紹了docker容器內(nèi)網(wǎng)絡(luò)請求緩慢問題解決2019-01-01超詳細(xì)Docker Desktop下安裝rocketmq的教程
這篇文章主要介紹了Docker Desktop下安裝rocketmq,本文內(nèi)容通過圖文操作命令給大家講解的非常詳細(xì),需要的朋友可以參考下2021-10-10docker創(chuàng)建并運(yùn)行一個MySql容器,并將宿主機(jī)直接掛載到容器
這篇文章主要介紹了docker創(chuàng)建并運(yùn)行一個MySql容器,并將宿主機(jī)直接掛載到容器問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09