昨天在雲服務器上配置了docker環境,正好手邊有個springboot的項目。今天研究一下如何將一個springboot項目打包到docker容器,然后通過運行一個鏡像來啟動項目。
1.打開docker允許遠程訪問docker的功能

選“E”繼續

添加紅框內容
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

配置完成后保存退出,然后重啟docker
systemctl daemon-reload
service docker restart
2.idea上docker的准備
在網上查詢資料時發現需要docker的插件,下載后才發現idea 2019 2.3 版本已經自帶連接docker的功能了。版本害死人啊 配置你的docker地址后下方出現Connection successful即可。

3.配置Dockerfile文件
這個文件是鏡像的構造文件

內容如下:

由於springboot運行時需要tmp目錄,在文件中就配置一個/tmp目錄。注意第三行改成自己target下的打包名稱,將這個jar文件復制到/app.jar中,最后就是啟動命令。
4.加maven插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.0</version>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<dockerHost>http://服務器ip:2375</dockerHost>
<imageName>javaboy/${project.artifactId}</imageName>
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<forceTags>true</forceTags>
<dockerDirectory>${project.basedir}</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
5.打包運行

打包時會構建鏡像所以會慢一點但是真的很方便。idea牛批
打包成功后可以在docker容器中看到自己的項目鏡像

在idea的services中操作更加方便

右擊項目鏡像就可以基於這個鏡像創建出一個容器


bind ports可以自己配置

配置成功后點擊“run”,在瀏覽器訪問項目

