上一篇《手動(dòng)部署springboot工程到Docker》仿佛依然不太便捷充易,因?yàn)樾枰謩?dòng)上傳jar包梗脾,作為懶癌最晚期的碼奴,怎么能忍受盹靴,再進(jìn)階炸茧,可以考慮一鍵部署到服務(wù)器。
BUT稿静,請注意梭冠,建議只在開發(fā)測試環(huán)境或者內(nèi)網(wǎng)環(huán)境使用,因?yàn)檫@樣你的docker會(huì)暴露在互聯(lián)網(wǎng)上改备,存在嚴(yán)重風(fēng)險(xiǎn)
一控漠、環(huán)境
操作系統(tǒng):centos8
IDE:idea
云環(huán)境:騰訊云(安全組打開2375端口)
二、修改服務(wù)器docker配置
配置文件位置:/lib/systemd/system/docker.service
添加內(nèi)容: -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
vi /lib/systemd/system/docker.service
資源文件.png
重啟docker
[root@host-xcg bee]# systemctl daemon-reload
[root@host-xcg bee]# systemctl restart docker
三悬钳、idea配置docker插件
3.1 插件安裝
和普通的idea插件一樣盐捷,在file-settings中找到plugins,搜索docker---》install即可
image.png
3.2配置docker插件
如果沒有問題默勾,下面會(huì)提示connect successful
image.png
3.3 pom.xml添加docker插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!-- 生成的docker鏡像名稱 -->
<imageName>${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>
<copy todir="src/main/docker" file="target/${project.artifactId}.${project.packaging}"></copy>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
此處插件可能下載失敗碉渡,可在maven的settings.xml中添加如下配置:
<pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
<pluginGroup>com.spotify</pluginGroup>
</pluginGroups>
3.4 添加dockerfile
在項(xiàng)目根目錄(pom同級)下創(chuàng)建Dockerfile文件,文件內(nèi)容如下
# 指定基礎(chǔ)鏡像 這里springboot項(xiàng)目運(yùn)行只需要java jdk環(huán)境即可
FROM java:8
# 維護(hù)者信息
MAINTAINER 小塵哥
# 將本地的可執(zhí)行文件拷貝到Docker容器中的根目錄下
# 重命名
ADD target/bee.jar app.jar
# 對外暴漏的端口號
#EXPOSE 8080
# 方式二
ENTRYPOINT ["java", "-jar", "app.jar"]
四母剥、idea啟動(dòng)配置
選擇 run configuration滞诺,添加docker運(yùn)行
微信截圖_20210208172329.png
五、啟動(dòng)
像普通的運(yùn)行一樣點(diǎn)一下即可
image.png
啟動(dòng)大概過程:清理--編譯--打包--上傳--構(gòu)建docker鏡像--啟動(dòng)
可以在控制臺看到啟動(dòng)日志
微信截圖_20210208162731.png