通过 Docker 在 20 分钟内将 Spring Boot 应用程序部署到 Bluemix

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

我真的很想了解更多有关 Java 框架 Spring 的信息。构建企业应用程序的简单性和 Spring 的势头使其非常有趣。因此,我从一个简单的教程开始并将该 Spring 应用程序部署到 Bluemix

Spring 提供了一个简单的 hello world Spring Boot with Docker 教程,其中包含一个带有一个 REST API 的 Spring Boot 应用程序。可以使用 Maven 和 Gradle,不仅可以构建 Java 应用程序,还可以构建一个可以部署到 Bluemix 的 Docker 映像。

Spring 教程声明本教程需要 15 分钟。在我的例子中,这是真的,因为我已经安装了先决条件 JDK 1.8、Maven 和 Docker。对于应用程序的部署,您不需要超过 5 分钟的额外时间。

我不会在这里重复 Spring 教程中的所有步骤,但基本上这是您需要做的:

- 克隆一个 Github 项目。使用应用程序的“完整”版本

- 通过 Maven 或 Gradle 构建项目

- 可选:在本地运行应用程序:运行 Tomcat 和您的应用程序附带的构建的 jar 文件

- 通过 Maven 或 Gradle 插件构建 Docker 镜像

本教程描述了如何将镜像推送到 Docker Hub(通过“docker push springio/gs-spring-boot-docker”)。要将图像推送到 Bluemix,请执行以下步骤。


 > cf login 

> cf ic login

> docker tag springio/gs-spring-boot-docker registry.ng.bluemix.net/nheidloff/gs-spring-boot-docker <- change the namespace

> docker push registry.ng.bluemix.net/nheidloff/gs-spring-boot-docker <- change the namespace

在此之后,您将在 Bluemix 上看到图像。


为了运行容器调用这些命令:


 > cf login 

> cf ic login

> docker tag springio/gs-spring-boot-docker registry.ng.bluemix.net/nheidloff/gs-spring-boot-docker <- change the namespace

> docker push registry.ng.bluemix.net/nheidloff/gs-spring-boot-docker <- change the namespace

或者,您可以使用 Bluemix UI 创建容器。选择新镜像,定义端口 8080 并绑定 IP 地址。

通过 yourIP:8080 在 Web 浏览器中打开应用程序。