在ECR上推送Spring Boot Docker映像
在先前的博客中,我们将Spring Boot应用程序与EC2集成在一起。 它是您可以在Amazon Web Services上进行的最原始的部署形式之一。
在本教程中,我们将使用我们的应用程序创建一个docker映像,该映像将存储到Amazon EC2容器注册表中 。
您需要安装aws cli工具。
我们将通过Spring应用程序获得尽可能简单的信息,因此我们将使用来自spring官方源页面的示例 。 应用的唯一更改将在包装和应用名称上。
我们的应用程序应命名为ecs-deployment
rootProject.name = 'ecs-deployment'
然后我们构建并运行我们的应用程序
gradle build
gradle bootRun
现在让我们对应用程序进行docker化。
首先,我们将创建一个驻留在src / main / docker上的Dockerfile。
FROM frolvlad/alpine-oraclejdk8
VOLUME /tmp
ADD ecs-deployment-1.0-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
然后,我们应该编辑gradle文件,以添加docker依赖项,docker插件和一个额外的gradle任务,以创建docker镜像。
buildscript {...dependencies {...classpath('se.transmode.gradle:gradle-docker:1.2')}
}...
apply plugin: 'docker'task buildDocker(type: Docker, dependsOn: build) {push = falseapplicationName = jar.baseNamedockerfile = file('src/main/docker/Dockerfile')
}
我们已经准备好构建我们的docker映像。
./gradlew build buildDocker
您还可以从新创建的映像运行docker应用程序。
docker run -p 8080:8080 -t com.gkatzioura.deployment/ecs-deployment:1.0-SNAPSHOT
第一步也是创建我们的ecr存储库
aws ecr create-repository --repository-name ecs-deployment
然后让我们继续进行docker Registry身份验证 。
aws ecr get-login
然后运行输出中给出的命令。 登录尝试将成功,您已准备好推送图像。
首先标记图像以指定我们先前创建的存储库,然后执行docker push。
docker tag {imageid} {aws account id}.dkr.ecr.{aws region}.amazonaws.com/ecs-deployment:1.0-SNAPSHOT
docker push {aws account id}.dkr.ecr.{aws region}.amazonaws.com/ecs-deployment:1.0-SNAPSHOT
我们完成了! 我们的spring boot docker映像已部署在Amazon EC2容器注册表中。
您可以在github上找到源代码。
翻译自: https://www.javacodegeeks.com/2017/02/push-spring-boot-docker-images-ecr.html
在ECR上推送Spring Boot Docker映像相关推荐
- aws ecr_在ECR上推送Spring Boot Docker映像
aws ecr 在先前的博客中,我们将Spring Boot应用程序与EC2集成在一起. 它是您可以在Amazon Web Services上进行的最原始的部署形式之一. 在本教程中,我们将使用我们的 ...
- heroku 部署 Spring Boot Docker Image
准备Docker Image 修改之前创建的Spring Boot 项目, 添加 Docker 插件 build.gradle plugins {id 'org.springframework.boo ...
- RabbitMQ(九):RabbitMQ 延迟队列,消息延迟推送(Spring boot 版)
应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货.在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持 ...
- Spring Boot+Docker微服务分布式服务架构设计和部署案例
2019独角兽企业重金招聘Python工程师标准>>> j360-microservice spring-boot+docker微服务设计之j360-microservice:(欢迎 ...
- Spring Boot应用集成Docker并结合Log4j2、Kafka、ELK管理Docker日志
Preface 原文链接: http://yangbingdong.com/2018/spring-boot-docker-elk/ 微服务架构下,微服务在带来良好的设计和架构理念的同时,也带来了运维 ...
- Docker容器及Spring Boot微服务应用
2019独角兽企业重金招聘Python工程师标准>>> Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复 ...
- Java微服务之Spring Boot on Docker,java开发面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- 使用 Docker 部署 Spring Boot
使用 Docker 部署 Spring Boot Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. ...
- spring boot项目怎么记录用户操作行为和登录时间_6 个 Github 项目拿下 Spring Boot
经常浏览技术社区.技术公众号的读者会有一个感受,那么就是 Spring Boot 相关的文章和相关咨询越来越多.包括小逛和技术公众号的博主交流,他们也发现推送 Spring Boot 相关的文章阅读量 ...
最新文章
- 用Memcache守护程序把数据缓存到内存二
- Windows编程设备描述表的概念和在客户区绘制、在窗口标题栏绘制、在桌面绘制图解
- Boost:基于boost::asio模块引用计数程序
- oracle长连接超时设置
- ul 原点显示_web前端开发学习教程,CSS HTML - ul li列表原点如何相连
- 【OpenCV】OpenCV函数精讲之 -- Mat和IplImage之间的相互装换(OpenCV2.0和OpenCV3.0)
- enlink请输入正确服务器地址,Enlink
- JAVA随机数生成 | Math.random()方法 | 随机生成int、double类型
- mac上可以使用的Windows远程桌面APP
- flutter Spacer 撑开整个屏幕
- Datadog 能成为最大的云监控厂商吗
- ps,pr,3Dmax软件使用经验
- 天啊!原来旧手机这么值钱!竟然不知道丨实用
- Linux学习笔记 Day0
- 使用手机远程控制电脑
- CUDA是什么-CUDA简介
- 当“互联网+”遇上“新零售”,卖1000万杯咖啡有何难?
- 计算机二级python考试资料(1)
- Linux 下常用工具
- 接口传输带格式的文字和图片_2020最漂亮早上好表情图带字带祝福文字,清晨最暖心的祝福语图片...