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、测试

相关推荐
leoZ23141 分钟前
AI 辅助开发的五道坎
开发语言·人工智能·视觉检测·bert·php·超分辨率重建·openvino
imaol11 小时前
链表 -- 环链表
java·前端·链表
程序员老陆1 小时前
Qt的QThread::usleep和FFmpeg的libavutil模块的av_usleep哪个精度高一些?
开发语言·qt·ffmpeg·音视频
imaol11 小时前
链表 -- 双向链表
java·前端·链表
2601_963869952 小时前
【计算机毕业设计】基于Java的相框定制系统的设计与实现
java·开发语言·课程设计
名字还没想好☜2 小时前
Go 的 unsafe.Pointer 实战:零拷贝 []byte↔string 转换与三条铁律
开发语言·后端·golang·go·unsafe
于烛3 小时前
为什么hasNext() 对只有一个元素的集合返回 true?90%初学者都有的疑问
java
wuminyu3 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
imaol13 小时前
数据结构---队列
java·数据结构·算法
半亩码田3 小时前
【.NET新特性·第11篇】C# 14 字段属性:告别手写 backing field
java·c#·.net