Docker:Window上Docker如何創建springboot鏡像

首先我將這個分爲以下幾個步驟,分別爲:

安裝Docker(略過,網上很多)、springboot打jar包、dockerfile編寫、部署到docker創建鏡像。

使用工具:eclipse oxygen、maven3.6、Docker Desktop for Window

網絡上找到的都是基於Linux和基於IDEA的教程,所以總結一下。


前期步驟直接參考 -> https://my.oschina.net/AmosWang/blog/2088358

Eclipse中pom.xml需要添加以下插件

	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<verbose>true</verbose>
				<fork>true</fork>
				<executable>${JAVA_HOME}/bin/javac</executable>
			</configuration>
		</plugin>
		 <plugin>
			<groupId>com.spotify</groupId>
			<artifactId>docker-maven-plugin</artifactId>
			<version>0.4.13</version>
			<configuration>
            <repository>${docker.image.prefix}/${project.artifactId}</repository>
            <buildArgs>
                <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
            </buildArgs>
        </configuration>
		</plugin>
	</plugins>
	<defaultGoal>compile</defaultGoal>
</build>

Eclipse打成jar包

在這裏插入圖片描述

Target目錄

在這裏插入圖片描述

Dcokerfile編寫

FROM openjdk:8-jdk-alpine
ADD docker.jar dockertest.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","dockertest.jar"]

from openjdk:8-jdk-alpine:拉取一個jdk爲1.8的docker image

docker.jar 就是你上傳的jar包,替換爲jar包的名稱

dockertest.jar 是你將該jar包重新命名爲什麼名稱在容器中運行

expose 該容器暴露的端口是多少,就是jar在容器中以多少端口運行,可以和項目的端口相同

entrypoint 容器啓動之後執行的命令,java -jar dockertest.jar 即啓動jar


最後在target的目錄下,進行Docker創建鏡像操作

在這裏插入圖片描述

後期步驟也可以參考 https://blog.csdn.net/weixin_42054155/article/details/90815393】


碰到的一些問題記錄

- 無法連接到我的外部端口 127.0.0.1:5432(我的pg數據庫)
  • Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Error: GlobalConfigUtils setMetaData Fail ! Cause:org.postgresql.util.PSQLException: Connection to 127.0.0.1:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

在這裏插入圖片描述

2020年4月14日 解決辦法:在docker中安裝好數據庫鏡像(我的是postgres),然後按照你主機的數據庫結構、表結構在裏面創建好一模一樣的,然後啓動的時候端口好設定好就可以連接了!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章