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

aws ecr

在先前的博客中,我们将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

aws ecr

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335613.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HH SaaS电商系统的商品营销角标功能模块设计

1、角标只属于商城,自营店铺共享商城的角标,第三方店铺可以申请角标 2、角标跟着素材模板走,关联素材模板id,一对多关系

python为什么这么小_同样是 Python,怎么区别这么大

发现问题上周,我的测试同事告诉我,你的用户名怎么还允许中文啊?当时我心里就想,你们测试肯定又搞错接口了,我用的是正则\w过滤了参数,怎么可能出错,除非Python正则系统出错了,那是不…

dynamodb容器使用_使用DynamoDBMapper扫描DynamoDB项目

dynamodb容器使用之前,我们介绍了如何使用DynamoDBMapper或底层Java api查询DynamoDB数据库。 除了发出查询之外,DynamoDB还提供扫描功能。 扫描的目的是获取您在DynamoDB表上可能拥有的所有项目。 因此,扫描不需要任何基于我们的分区键或…

HH SaaS电商系统的商品营销标签功能模块设计

1、营销标签只属于商城,自营店铺共享商城的营销标签,第三方店铺可以申请营销标签 2、营销标签跟着商品走,关联spu_ext_id,多对多关系 3、一个商品最多添加5个营销标签

python加减法计算题 代码_关于《剑指offer》中不用加减乘除做加法的Python代码的问题...

题目如下:写一个函数,求两个整数之和,要求在函数体内不得使用、-、*、/四则运算符号。题目不难,可以采用位操作来实现,利用异或运算来计算不带进位的加法结果,利用与运算计算进位的标志,然后将这…

接口方法javadoc注释_继承Javadoc方法注释

接口方法javadoc注释尽管用于javadoc工具的JDK工具和实用程序页面通过实现和继承方法来描述Javadoc方法注释重用的规则,但是当实际上不需要使用{inheritDoc}时,很容易不必要地显式描述注释继承,因为会使用相同的注释隐式继承。 Java 8 javado…

HH SaaS电商系统的商品销售管理标签功能模块设计

1、商城和店铺有各自的销售管理标签 2、商品管理标签跟着商品走,关联spu_ext_id或者sku_ext_id,多对多关系

redis java 监听_从零手写实现redis(四)添加监听器

前言java从零手写实现redis(一)如何实现固定大小的缓存?java从零手写实现redis(三)redis expire 过期原理java从零手写实现redis(三)内存数据如何重启不丢失?本节,让我们…

neo4j导入两个文件_Neo4j:找到两个纬度/经度之间的中点

neo4j导入两个文件在过去的两个周末中,我一直在处理一些运输数据,并且我想运行A *算法来查找两个车站之间的最快路线。 A *算法将EstimateEvaluator作为其参数之一,并且该评估器查看节点的经度/纬度,以确定一条路径是否值得遵循。…

HH SaaS电商系统的商品营销服务功能模块设计

商品营销服务 1、服务只属于商城,自营店铺共享商城的服务,第三方店铺可以申请服务 2、服务跟着素材模板走,关联素材模板id,多对多关系

drill apache_如何指南:Apache Drill入门

drill apacheApache Drill是一个引擎,可以连接到许多不同的数据源,并为它们提供SQL接口。 它不仅是遍历任何复杂事物SQL界面,而且是功能强大的界面, 其中包括对许多内置函数和窗口函数的支持。 尽管它可以连接到可以使用SQL进行查…

mac mysql 重设密码_Mac下忘记mysql密码重新设置密码的图文教程

MySQL 文件在路径/usr/local/mysql下1, 在系统偏好设置中关闭 mysql : Stop MySQL Server2 ,打开终端进入路径  /usr/local/mysql/bin输入命令 sudo su, 然后输入开机密码。然后输入命令:./mysqld_safe –skip-grant-…

HH SaaS电商系统的商品销售分区功能模块设计

商品销售分区 1、销售分区跟着商品走,关联spu_ext_id,多对多关系 2、商城和店铺有各自的销售分区

spring 安全编码_Spring安全性和密码编码

spring 安全编码在以前的文章中,我们深入探讨了Spring安全性。 我们实现了由jdbc支持的安全性,基于自定义 jdbc查询的安全性以及从nosql数据库检索安全性的信息。 通过足够小心,我们会发现密码为纯文本格式。 尽管这在实际环境中可以很好地用…

python网管系统_IT外包网管服务,Python密度聚类算法-DBSCAN实践

蓝盟 IT小贴士,来喽!可以看出,a点附近的点密度大,红色的圆按照一定的规则在这里滚动,最终收纳a点附近的5点,标记为红色是同一个簇。其他没有收纳的东西,按照相同的规则进行集群化。从图像上来看…

HH SaaS电商系统的商品物流模板的功能设计

商品物流模板 1、物流模板跟着商品走,关联spu_ext_id,一对多关系 2、商城和店铺有各自的物流模板

activiti 变量_如何在Activiti中使用瞬态变量

activiti 变量我们昨天发布的Activiti v6 Beta3中已经加入了很多需要的功能-临时变量。 在这篇文章中,我将向您展示一个示例,说明如何使用瞬态变量来覆盖一些以前不可能(或最佳)的高级用例。 到目前为止,Activiti中的…

erosa mysql_MySQL协议和canal实现

前言前面的文章里,我们了解到 canal 可以从 MySQL 中感知数据的变化。这是因为它模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,从而实现了主从复制。正是了解到这一点,笔者有两个问题便一直萦绕于心:它是如何…

HH SaaS电商系统的商品关联版式功能模块设计

关联版式 1、关联版式跟着商品走,关联spu_ext_id,一对多关系 2、商城和店铺有各自的关联版式

spring nosql_使用Spring Security和NoSQL的Spring Boot

spring nosql在前面的文章中,我们从一个SQL数据库提供用户和权威检索自定义查询设置弹簧安全配置。 如今,许多现代应用程序都使用NoSQL数据库。 Spring安全性不是NoSQL数据库的现成解决方案。 在这种情况下,我们需要通过实现自定义UserDeta…