【DOCKER】WIN10发布SPRINGBOOT项目(一)
1.创建一个简单的springboot项目[docker-test]
设置端口为9110

2.启动springboot项目,验证可以正确执行

3.在pom.xml里增加docker相关配置
把以下配置加在对应的位置,更新maven库后重复前两步,确认[docker-test]增加docker配置后可以正常启动。
<properties>
<docker.image.prefix>springboot</docker.image.prefix>
</properties>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}
</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
4.在docker-test的src/main/docker下建Dockerfile文件,内容如下
FROM java:8
VOLUME /tmp
ADD dockertest-0.0.1.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
其中,ADD后的名称要和pom.xml里配置的一样。

5.从命令行进入docker-test目录,
执行以下命令,确保可以正常执行
1)mvn clean
2)mvn package
打包命令执行完后,docker-test/target下面可以看到打好的jar包
docker-test-0.0.1-SNAPSHOT.jar

6.执行 java -jar target/docker-test-0.0.1-SNAPSHOT.jar,测试能否正常启动项目
7.执行 mvn package docker:build,制作项目镜像
BUILD SUCCESS说明成功

执行docker images可以看到部署成功的镜像,因为没有指定版本号,所以TAG是默认的latest

8.启动镜像
docker run -p 9999:9110 -t springboot/docker-test
9999是启动时设置的docker访问端口,9110是docker-test项目设置的监听端口,两者可设成一致
(想要后台运行可以再加上参数:-d)

9.使用docker端口访问

10.如果想指定镜像的版本号,
1)为了体现不同版本,把1.0.0版本的CONTROLLER改一下,让他返回“hello 1.0.0”

2)打包完成后,执行命令
mvn package docker:build -DdockerImageTags=1.0.0
3)docker images查看,可以看到多了一个TAG是1.0.0的镜像

4)docker run -p 9999:9110 -t springboot/docker-test:1.0.0
5)通过docker端口访问
