在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 = false
    applicationName = jar.baseName
    dockerfile = 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值