一、前言
溫馨小提示: 案例源碼demo放文章最后了
idea
CentOS7.3服務(wù)器
docker
springboot項目
可參考小編的另外一篇文章:https://blog.csdn.net/qq_38225558/article/details/100016217
vi /lib/systemd/system/docker.service# ① 修改宿主機(jī)配置文件systemctl daemon-reload&&systemctl restart docker# ② 重啟dockerfirewall-cmd--zone=public--add-port=2375/tcp--permanent# ③ 防火墻開放端口2375
?連接成功后我們便可查看docker下的容器和鏡像?
<properties><docker.image.prefix>docker-demo</docker.image.prefix></properties><build><plugins><!-- maven打包插件 -> 將整個工程打成一個 fatjar --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- docker構(gòu)建插件 --><plugin><groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.0.0</version><configuration><!-- 生成的docker鏡像名稱? --><imageName>${docker.image.prefix}/${project.artifactId}</imageName><dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory><resources><resource><targetPath>/</targetPath><directory>${project.build.directory}</directory><include>${project.build.finalName}.jar</include></resource></resources></configuration></plugin><!-- 復(fù)制jar包到指定目錄 --><plugin><artifactId>maven-antrun-plugin</artifactId><executions><execution><phase>package</phase><configuration><tasks><copytodir="src/main/docker"file="target/${project.artifactId}-${project.version}.${project.packaging}"></copy></tasks></configuration><goals><goal>run</goal></goals></execution></executions></plugin></plugins></build>
4. 在項目?src/main?目錄下創(chuàng)建?docker?目錄與?Dockerfile?文件
# 指定基礎(chǔ)鏡像 這里springboot項目運(yùn)行只需要java jdk環(huán)境即可FROM java:latest# 維護(hù)者信息MAINTAINER zq# 將本地的可執(zhí)行文件拷貝到Docker容器中的根目錄下COPY app.sh /#給app.sh賦予可執(zhí)行權(quán)限RUNchmod+x /app.sh# 重命名ADD*.jar app.jar# 對外暴漏的端口號EXPOSE 9100# 運(yùn)行ENTRYPOINT["/app.sh"]# 方式一#ENTRYPOINT ["java", "-jar", "app.jar"]? # 方式二
上面方式一中需要的?app.sh?文件內(nèi)容如下
#!/bin/bashjava-jarapp.jar

?點擊運(yùn)行?
?構(gòu)建成功之后如下:?

?選擇?Log?即可查看項目輸出日志信息?

最后奉上源碼demo以供參考:https://download.csdn.net/download/qq_38225558/11595170
整體項目結(jié)構(gòu)如下,相對入門比較簡單?