博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot工程制作镜像并推送到阿里云
阅读量:2064 次
发布时间:2019-04-29

本文共 2968 字,大约阅读时间需要 9 分钟。

springboot工程

我们在这里找了一个原来的项目工程,项目结构如下:

Dockerfile文件编写

FROMjava:8VOLUME/tmpADDjwordpress-web.jarweb.jarENTRYPOINT["java","-Djava.security.egd=file:/dev/./urandom","-jar","/web.jar"]

VOLUME 指定了临时文件目录为/tmp。其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。该步骤是可选的,如果涉及到文件系统的应用就很有必要了。/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录  项目的 jar 文件作为 “app.jar” 添加到容器的  ENTRYPOINT 执行项目 app.jar。为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/urandom” 作为 Entropy Source

制作镜像并发布到阿里云私有仓库

方法一:本地利用docker命令

Maven install INFO] ------------------------------------------------------------------------[INFO] Reactor Summary:[INFO] [INFO] jwordpress-parent .................................. SUCCESS [  0.215 s][INFO] jworpdress-web ..................................... SUCCESS [  2.308 s][INFO] jwordpress-admin ................................... SUCCESS [  0.035 s][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 2.852 s

然后到target 目录下看是否生成了jar文件

然后将jwordpress-web.jar和Dockerfile 放在同一个文件下。执行下面命令 `` docker build -t jwordpress:web-1.0.3.RELEASE .

liuhaihua@liuhaihuadeMacBook-Pro target % docker build -t jwordpress:web-1.0.3.RELEASE .Sending build context to Docker daemon  51.81MBStep 1/4 : FROM java:8 ---> d23bdf5b1b1bStep 2/4 : VOLUME /tmp ---> Using cache ---> d27a75b4151cStep 3/4 : ADD jwordpress-web.jar web.jar ---> 90b04ec165ccStep 4/4 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/web.jar"] ---> Running in 4663a51a704eRemoving intermediate container 4663a51a704e ---> 312c514e7ecdSuccessfully built 312c514e7ecdSuccessfully tagged jwordpress:web-1.0.3.RELEASE

查看镜像

推送到阿里云镜像

$ sudo docker login --username=hi35928472@aliyun.com registry.cn-hangzhou.aliyuncs.com$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/shanbei/web:[镜像版本号]$ sudo docker push registry.cn-hangzhou.aliyuncs.com/shanbei/web:[镜像版本号]

例子如下图:

登陆阿里云仓库看是否上传成功

方法二:利用maven插件

com.spotify
docker-maven-plugin
0.4.13
${docker.repository.url}/${docker.repository.namespace}/${project.artifactId}:${project.version}
${docker.repository.serverId}
${docker.repository.url}
src/main/docker
/
${project.build.directory}
${project.build.finalName}.jar

Setting.xml增加仓库用户名和密码

docker-aliyun-my
xxxx@xxx.com
xxxx
xxx@xxxx.com

常量

registry.cn-qingdao.aliyuncs.com
shanbei
aliyun-docker-hub

运行docker build

然后在运行docker push

2种方式都可以,现实中,我们可能需要jenkins来打包部署,所以最好采用第二种方式比较靠谱。

目前100000+人已关注加入我们

       

       

转载地址:http://uxwmf.baihongyu.com/

你可能感兴趣的文章
Python几种并发实现方案的性能比较
查看>>
[Jmeter]jmeter之脚本录制与回放,优化(windows下的jmeter)
查看>>
Jmeter之正则
查看>>
【JMeter】1.9上考试jmeter测试调试
查看>>
【虫师】【selenium】参数化
查看>>
【Python练习】文件引用用户名密码登录系统
查看>>
学习网站汇总
查看>>
【Python】用Python打开csv和xml文件
查看>>
【Loadrunner】性能测试报告实战
查看>>
【面试】一份自我介绍模板
查看>>
【自动化测试】自动化测试需要了解的的一些事情。
查看>>
【selenium】selenium ide的安装过程
查看>>
【手机自动化测试】monkey测试
查看>>
【英语】软件开发常用英语词汇
查看>>
Fiddler 抓包工具总结
查看>>
【雅思】雅思需要购买和准备的学习资料
查看>>
【雅思】雅思写作作业(1)
查看>>
【雅思】【大作文】【审题作业】关于同不同意的审题作业(重点)
查看>>
【Loadrunner】通过loadrunner录制时候有事件但是白页无法出来登录页怎么办?
查看>>
【English】【托业】【四六级】写译高频词汇
查看>>