一,准备工作:
1,去docker官网下载windows版的docker安装包,下载地址:https://docs.docker.com/docker-for-windows/install/,下载完成后运行Docker Desktop Installer.exe文件,按界面上的提示完成安装即可,安装完成后启动docker服务。
2,修改项目的pom.xml文件
在项目的pom.xml文件中增加以下配置或依赖:
<properties>
<java.version>1.8</java.version>
<docker.image.prefix>springio</docker.image.prefix>
</properties>
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<!--maven docker插件-->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.14</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!--指定docker镜像的版本号-->
<imageTags>
<!--使用maven项目的版本号-->
<imageTag>${project.version}</imageTag>
<imageTag>latest</imageTag>
</imageTags>
<!--Dockerfile文件位置-->
<dockerDirectory>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>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!--加入下面两项配置-->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
3,在项目的源文件中新建Dockerfile文件,Dockerfile文件的配置如下:
#基于哪个镜像
FROM java:8
#将本地文件夹挂载到当前容器
VOLUME /tmp
#复制文件到容器
ADD gold-recycle-service.jar app.jar
#声明需要暴露的端口
EXPOSE 8086
#配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
二,开始构建
在完成了以上准备工作后,在springboot 终端上依次输入以下命令来完成镜像的创建与启动。
1,mvn clean package -e docker:build 创建docker镜像
2,docker ps -a 查看所有镜像,可以看到刚刚构建好的镜像
3,docker run --name goldService -p 8086:8086 -d springio/gold-recycle-service:0.0.1-SNAPSHOT --name:指定新镜像名称,-d:后台运行,-p:指定映射的端口,此处是将项目的8086端口映射成http端口8086 , springio/gold-recycle-service:0.0.1-SNAPSHOT:镜像名。
三,验证
当完成以上两步后相当于项目服务已在本地发布,可以在浏览器中输入http://localhost:8086/接口地址, 来验证。如果有数据返回成功,即表示本地的docker镜像构建是成功的。