Java项目基于Docker打包发布

1.打包应用

也可以用命令打包,这样可以跳过单元测试

复制代码
mvn clean package -DskipTests

2.新建dockerfile

1、将打包好的jar包放进你的文件中

2、创建dockerfile

复制代码
FROM  openjdk:8
#设置工作目录
WORKDIR  /workspace

#COPY  wms-app-0.0.1-SNAPSHOT.jar /workspace/app.jar
ADD  wms-app-0.0.1-SNAPSHOT.jar  app.jar
#配置容器暴漏的端口
EXPOSE 8080
#查看是否已经copy进去
#RUN  ls 
#java App
ENTRYPOINT  ["java","-jar","app.jar"]

3.打包镜像

复制代码
docker build -t wsm-app:v1 .

4.测试运行

--rm 代表退出之后,容器移动删除

复制代码
docker run -it --rm beimao:v1

5.发布到阿里云免费私仓库

链接: 点击注册阿里云私仓

复制代码
$ docker login --username=lewowo123 registry.cn-beijing.aliyuncs.com

$ docker tag [ImageId] registry.cn-beijing.aliyuncs.com/beiyou123/beimao:[镜像版本号]

$ docker push registry.cn-beijing.aliyuncs.com/beiyou123/beimao:[镜像版本号]

拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/206/beimao:[镜像版本号]

1、申请个人私有仓库

2、创建命名空间

3、创建镜像仓库


4、推送and拉去镜像

6.运行测试

1、运行

复制代码
docker run -d -p 3999:8080 wsm-app:v1

2、测试

相关推荐
.千余1 天前
【Linux 】网络基础1
linux·运维·服务器·开发语言·网络·学习
小短腿的代码世界1 天前
Qt低级网络编程与零拷贝技术在高频交易中的应用:从QTcpSocket到共享内存的全链路优化
开发语言·网络·qt
计算机安禾1 天前
【c++面向对象编程】第28篇:new/delete vs malloc/free:C++中正确动态内存管理
开发语言·c++·算法
逐光老顽童1 天前
Java 内存模型深度解析与 JVM 调优实战指南
java·架构
写了20年代码的老程序员1 天前
Excel 导入导出为什么总是把后端逼成字段搬运工
java·excel
TechWayfarer1 天前
IP归属地API实战指南:用IP数据云解析日志挖掘用户地域分布
大数据·开发语言·网络·python·tcp/ip
ChoSeitaku1 天前
10.枚举_Record_密封类_debug_API文档_Object类_lombok_Junit
java·数据库·junit
之歆1 天前
DAY_13DOM操作完全指南DOM基础API与节点操作(上)
开发语言·前端·javascript·ecmascript
lsx2024061 天前
Vue3 表单深度解析
开发语言
zhoumeina991 天前
如何保证不同位置切换合成底图的渲染顺序
java·前端·javascript