前面学习了Docker,今天来打包个项目Demo测试一下Docker在实际生产环境的使用。

* 先找一个你本地能运行的SpringBoot项目
* 安装了Maven(这里用Maven构建jar包)
*
安装了Docker环境

官方文档Spring Boot with Docker
<https://spring.io/guides/gs/spring-boot-docker/#initial>

修改项目的主pom.xml文件,添加如下插件,如果添加了其他的打包插件请注释掉:
<properties> <docker.image.prefix>mistra</docker.image.prefix> </properties>
...<plugin> <groupId>org.springframework.boot</groupId> <artifactId>
spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</
groupId> <artifactId>dockerfile-maven-plugin</artifactId> <version>1.3.6</
version> <configuration> <repository>
${docker.image.prefix}/${project.artifactId}</repository> <buildArgs> <JAR_FILE>
target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration>
</plugin>
cd到项目根目录下

* ./mvnw clean 先清除一下
* ./mvnw package 打包项目为jar包
* ls 查看,顺利的话就生成了target文件夹
*
cd 进入target查看生成的jar包


*
touch Dockerfile 在项目根目录下创建文件Dockerfile,跟target目录同一级


* vi Dockerfile 编辑文件 FROM openjdk:8-jdk-alpine VOLUME /tmp ARG JAR_FILE COPY
${JAR_FILE} app.jar ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom"
,"-jar","/app.jar"]
Dockerfile指令的说明可以查看这里:Docker 通过Dockerfile创建自定义镜像
<https://blog.csdn.net/Axela30W/article/details/82155757>

*
在项目根目录进行打包:./mvnw install dockerfile:build ,可以详细的看到构建过程


*
docker images 查看刚刚打包好的镜像

还可以把自己制作的镜像push到远端仓库,在任何一个系统上pull下来就可以直接部署了。这就是docker强大之处。

*
docker run -p 8080:8080 -t mistra/store:latest 基于此镜像运行一个容器,并添加端口映射

可以看到项目启动成功


* docker ps 查看刚刚启动的容器:

访问:http://localhost:8080/ <http://localhost:8080/>



友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信