準(zhǔn)備springboot項(xiàng)目
使用maven install打包址否,idea會(huì)將其發(fā)布到maven倉(cāng)庫(kù)滑负,直接用就好矮慕。或者會(huì)在target目錄中瘟斜。
本地測(cè)試確保springboot的jar包沒(méi)問(wèn)題
Dockerfile方式部署springboot
如果我們不使用docker容器的螺句,那么我們正常發(fā)布就是java -jar跑起來(lái)橡类。
現(xiàn)在只是我們編寫(xiě)腳本生成鏡像運(yùn)行蛇尚,而編寫(xiě)腳本的內(nèi)容取劫,還是怎么運(yùn)行java -jar谱邪。
FROM java:8
MAINTAINER sunpy
COPY ./teacher-service-0.0.1-SNAPSHOT.jar /teacher-service.jar
ENTRYPOINT ["java","-jar","teacher-service.jar"]
上面要確保,當(dāng)前目錄里面存在teacher-service-0.0.1-SNAPSHOT.jar文件咆课。
生成鏡像:
[root@ecs-140051 app]# docker build -t teacher-service:v2 .
Sending build context to Docker daemon 59.27MB
Step 1/4 : FROM java:8
---> d23bdf5b1b1b
Step 2/4 : MAINTAINER sunpy
---> Using cache
---> db34617ece11
Step 3/4 : COPY ./teacher-service-0.0.1-SNAPSHOT.jar /teacher-service.jar
---> c9687ec459b3
Step 4/4 : ENTRYPOINT ["java","-jar","teacher-service.jar"]
---> Running in 919b43caf9e9
Removing intermediate container 919b43caf9e9
---> f7d17d63bf08
Successfully built f7d17d63bf08
Successfully tagged teacher-service:v2
運(yùn)行鏡像生成容器:
[root@ecs-140051 app]# docker run -d --name teacher-service-2 -p 3801:8080 teacher-service:v2
692b8d4e49d9d4b7a5046d80259f3f1bbf9a7f6923b52ab01cf27655da02e084
[root@ecs-140051 app]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
692b8d4e49d9 teacher-service:v2 "java -jar teacher-s…" 11 seconds ago Up 11 seconds 0.0.0.0:3801->8080/tcp, :::3801->8080/tcp teacher-service-2
外部訪問(wèn):