昨天在雲服務器上配置了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”,在瀏覽器訪問項目