在先前的博客中,我们将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映像相关推荐

  1. aws ecr_在ECR上推送Spring Boot Docker映像

    aws ecr 在先前的博客中,我们将Spring Boot应用程序与EC2集成在一起. 它是您可以在Amazon Web Services上进行的最原始的部署形式之一. 在本教程中,我们将使用我们的 ...

  2. heroku 部署 Spring Boot Docker Image

    准备Docker Image 修改之前创建的Spring Boot 项目, 添加 Docker 插件 build.gradle plugins {id 'org.springframework.boo ...

  3. RabbitMQ(九):RabbitMQ 延迟队列,消息延迟推送(Spring boot 版)

    应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货.在我们签收商品后,物流系统会在七天后延时发送一个消息给支付系统,通知支付系统将款打给商家,这个过程持 ...

  4. Spring Boot+Docker微服务分布式服务架构设计和部署案例

    2019独角兽企业重金招聘Python工程师标准>>> j360-microservice spring-boot+docker微服务设计之j360-microservice:(欢迎 ...

  5. Spring Boot应用集成Docker并结合Log4j2、Kafka、ELK管理Docker日志

    Preface 原文链接: http://yangbingdong.com/2018/spring-boot-docker-elk/ 微服务架构下,微服务在带来良好的设计和架构理念的同时,也带来了运维 ...

  6. Docker容器及Spring Boot微服务应用

    2019独角兽企业重金招聘Python工程师标准>>> Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复 ...

  7. Java微服务之Spring Boot on Docker,java开发面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  8. 使用 Docker 部署 Spring Boot

    使用 Docker 部署 Spring Boot Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. ...

  9. spring boot项目怎么记录用户操作行为和登录时间_6 个 Github 项目拿下 Spring Boot

    经常浏览技术社区.技术公众号的读者会有一个感受,那么就是 Spring Boot 相关的文章和相关咨询越来越多.包括小逛和技术公众号的博主交流,他们也发现推送 Spring Boot 相关的文章阅读量 ...

最新文章

  1. 用Memcache守护程序把数据缓存到内存二
  2. Windows编程设备描述表的概念和在客户区绘制、在窗口标题栏绘制、在桌面绘制图解
  3. Boost:基于boost::asio模块引用计数程序
  4. oracle长连接超时设置
  5. ul 原点显示_web前端开发学习教程,CSS HTML - ul li列表原点如何相连
  6. 【OpenCV】OpenCV函数精讲之 -- Mat和IplImage之间的相互装换(OpenCV2.0和OpenCV3.0)
  7. enlink请输入正确服务器地址,Enlink
  8. JAVA随机数生成 | Math.random()方法 | 随机生成int、double类型
  9. mac上可以使用的Windows远程桌面APP
  10. flutter Spacer 撑开整个屏幕
  11. Datadog 能成为最大的云监控厂商吗
  12. ps,pr,3Dmax软件使用经验
  13. 天啊!原来旧手机这么值钱!竟然不知道丨实用
  14. Linux学习笔记 Day0
  15. 使用手机远程控制电脑
  16. CUDA是什么-CUDA简介
  17. 当“互联网+”遇上“新零售”,卖1000万杯咖啡有何难?
  18. 计算机二级python考试资料(1)
  19. Linux 下常用工具
  20. 接口传输带格式的文字和图片_2020最漂亮早上好表情图带字带祝福文字,清晨最暖心的祝福语图片...

热门文章

  1. JavaScript学习总结(一)——JavaScript基础
  2. jQuery 基础教程 (二)之jQuery对象与DOM对象
  3. Java中的垃圾回收与对象生命周期
  4. python3如何连接mysql数据库
  5. 当你左右看看没有发现我时,千万千万别往看……
  6. 《白鹿原》金句摘抄(二)
  7. Servlet 流程控制
  8. 继承类对方法的影响java_4-Java面向对象-继承(上)
  9. 16-1 Redis分布式缓存引入与保存缓存功能实现
  10. 拦截第三方快递物流 ,console控制台打印正常 ,浏览器显示正常 ,传至后台乱码