第一步
開放2375端口
項目中pom設置<build>
<finalName>eureka</finalName>
<plugins>
<!-- maven打包插件 --> <plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 作用:項目打成jar的同時將本地jar包也引入進去 --> <configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.2</version>
<!--將插件綁定在某個phase執行--> <executions>
<execution>
<id>build-image</id>
<!--將插件綁定在package這個phase上。也就是說, 用戶只需執行mvn package ,就會自動執行mvn docker:build--> <phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!--指定生成的鏡像名,這里是我們的項目名--> <imageName>${project.artifactId}</imageName>
<!--指定標簽 這里指定的是鏡像的版本,我們默認版本是latest--> <forceTags>true</forceTags>
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!--注意 修改成遠程服務器地址--> <dockerDirectory>docker</dockerDirectory>
<dockerHost>http://192.160.26.118:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>13</source>
<target>13</target>
</configuration>
</plugin>
</plugins>
</build>同時刪除resources 下的Dockerfie。
第二步
接着執行圖中的步驟。然后在項目中的target找到jar包,將該JAR包上傳到linux上
第三步
在該目錄下創建Dockerfile 文件
vi Dockerfile
然后將下面的內容復制到Dockerfile文件中
FROM openjdk:13
MAINTAINER yufeng
ADD eureka.jar zzzeureka.jar
EXPOSE 8800
ENTRYPOINT ["java","-jar","zzzeureka.jar"]這里from后面跟的jdk版本一定要正確,筆者先從hub.docker.com上找到openjdk的正確名字,然后再加到from后面。這里配置也要和pom中
<artifactId>eureka</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>eureka</name>name版本一一對應
第四步
輸入命令開始構建docker build -t eureka .。遇到
ADD failed: stat /var/lib/docker/tmp/docker-builderXXXXXX: no such file or dir可以考慮把找不到的東西放在與Dockerfile同一個目錄下就可以了
第五步
鏡像構建成功之后,就可以運行容器了:docker run -d -p 8800:8800 --name eurekai d5194e8e07b7。