修改pom.xml 文件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--docker 部署-->
<!--<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>${project.groupId}/${project.artifactId}</imageName>
<imageTags>
<!–镜像标签–>
<imageTag>latest</imageTag>
</imageTags>
<forceTags>true</forceTags>
<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>-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.10</version>
<configuration>
<contextDirectory>src/main/docker</contextDirectory>
<repository>springboot/${project.artifactId}</repository>
<tag>v1</tag>
</configuration>
</plugin>
</plugins>
</build>
其中 docker-maven-plugin 被注释掉了 ,使用的是 dockerfile-maven-plugin ,两者的区别,就是,第一个比较老,并且第二个如果没有配置docker主机,就会自动访问本机的2375 端口 上传镜像
所以,必须开启 docker 的2375 端口
\
然后编写 Dockerfile 文件
在 src/main/docker文件夹下创建 Dockerfile 文件
内容如下
FROM java:8
VOLUME /tmp
ADD config-service-0.0.1-SNAPSHOT.jar config-service.jar
RUN bash -c 'touch /config-service.jar'
EXPOSE 80
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/config-service.jar"]
其中
config-service 与pom.xml文件 <artifactId>config-service</artifactId> 对应
0.0.1-SNAPSHOT 与pom.xml文件 <version>0.0.1-SNAPSHOT</version> 对应
然后,用普通方式编译生成一个jar包,
把jar包拷贝到 Dockerfile 同目录,因为只有这样 ,才能被Dockerfile 中的 ADD 命令找到
然后运行
成功后显示
[INFO] Pulling from library/java
[INFO] Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
[INFO] Status: Image is up to date for java:8
[INFO] ---> d23bdf5b1b1b
[INFO] Step 2/6 : VOLUME /tmp
[INFO]
[INFO] ---> Using cache
[INFO] ---> d658d91b3c08
[INFO] Step 3/6 : ADD config-service-0.0.1-SNAPSHOT.jar config-service.jar
[INFO]
[INFO] ---> 03a351817f7b
[INFO] Step 4/6 : RUN bash -c 'touch /config-service.jar'
[INFO]
[INFO] ---> Running in 7337a7e31805
[INFO] Removing intermediate container 7337a7e31805
[INFO] ---> 131869aa7fb8
[INFO] Step 5/6 : EXPOSE 80
[INFO]
[INFO] ---> Running in e2a00e25e7dd
[INFO] Removing intermediate container e2a00e25e7dd
[INFO] ---> e3fe3aad3d7e
[INFO] Step 6/6 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/config-service.jar"]
[INFO]
[INFO] ---> Running in e58ce7ebecc3
[INFO] Removing intermediate container e58ce7ebecc3
[INFO] ---> 91b4b4f3863a
[INFO] Successfully built 91b4b4f3863a
[INFO] Successfully tagged springboot/config-service:v1
[INFO]
[INFO] Detected build of image with id 91b4b4f3863a
[INFO] Building jar: E:\oopdd\v2\pay_core_gateway\paycoregateway\config-service-1006\target\config-service-0.0.1-SNAPSHOT-docker-info.jar
[INFO] Successfully built springboot/config-service:v1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 13.380 s
[INFO] Finished at: 2020-01-09T10:27:45+08:00
[INFO] ------------------------------------------------------------------------
查看docker 镜像
运行镜像
访问端口
访问成功