20分钟搞定——通过Docker部署Spring Boot应用程序到Bluemix云计算平台

我很想了解关于 Java 中 Spring 框架的更多内容。借 Spring 之势来构建企业应用程序,其简单性使得它非常有趣。于是我着手实践了一个简单的教程,并将所实现的 Spring 应用程序部署到了 Bluemix 云计算平台上。

Spring 官方在 Spring Boot 与 Docker 教程中提供了一个简单的,并带有一个应用程序接口(REST API) 的 Spring Boot 应用程序——“hello world”。使用 Maven 和 Gradle,我们不仅可以构建 Java 应用程序,还可以构建一个可部署到 Bluemix 的 Docker 镜像。

在 Spring 的这一教程中,他们指出,只需要 15 分钟的就能完成教程内容。对我来说, 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 <- 更改命名空间
> docker push registry.ng.bluemix.net/nheidloff/gs-spring-boot-docker <- 更改命名空间

完成以上操作后,您将看到 Bluemix 上的情况如下图。

为了运行一个容器,需要调用这些命令:

> cf ic run --name gs-spring-boot-docker -p 8080:8080 -d -t registry.ng.bluemix.net/nheidloff/gs-spring-boot-docker <- 更改命名空间
> cf ic ip request
> cf ic ip list -a 
> cf ic ip bind 134.168.15.128 gs-spring-boot-docker < - 更改IP

还有另一种选择,您可以使用 Bluemix UI 来创建容器。选择新的镜像,定义端口 8080 并绑定一个IP地址。

最后,通过你的IP地址:8080”在 Web 浏览器中打开相应的应用程序。

本文的版权归 StoneDemo 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分布式系统和大数据处理

Kafka分布式消息系统(搭建Zookeeper集群) - Part.2

kafka使用zookeeper来管理Brokers(kafka服务进程)、执行partition(分区)的leader选举、当出现变更时向kafka发送通知(...

1172
来自专栏野路子程序员

[小记]Centos7网络配置DNS配置解决、yum出错解决。

2755
来自专栏乐百川的学习频道

安装和使用Redis

Redis是一个高性能的内存数据库,它体积轻巧性能又高,在企业中被广泛使用。 安装Redis Windows安装 Redis是为Linux系统设计的,但是也有团...

34510
来自专栏源哥的专栏

基于linux的嵌入IPv4协议栈的内容过滤防火墙系统(7)-尚未解决的问题

1。因为我们无法得到对rar文件的数据进行压缩的方法,所以我们无法得到rar文件里面的内容,只能得到rar文件里面的目录名和

701
来自专栏Netkiller

Tomcat 安全配置与性能优化

Tomcat 安全配置与性能优化 目录 1. JVM 1.1. 使用 Server JRE 替代JDK。 1.2. JAVA_OPTS 2. Tomcat 优化...

3605
来自专栏任浩强的运维生涯

sentinel监控redis高可用集群(二)

一、端口转发。 如果在一个主机里面,安装了两个redis实例,可以在项目里面配置IP端口,用iptables转发。 iptables -t nat -A PRE...

2914
来自专栏晓晨的专栏

使用 pm2 守护你的 .NET Core 应用程序

守护进程,英文名:“daemon",也有守护神的意思。守护进程是一个在后台运行并且不受任何终端控制的进程,不会随着会话结束而退出。诸如 mysql、apache...

452
来自专栏电光石火

Linux安装DNSmasq搭建自己的公共DNS

DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。自己搭建公共DNS更加灵活,如果是在...

5218
来自专栏州的先生

使用Django实现微信公众号用户openid登录认证

2332
来自专栏磨磨谈

Ceph数据盘怎样实现自动挂载

在Centos7 下,现在采用了 systemctl来控制服务,这个刚开始用起来可能不太习惯,不过这个服务比之前的服务控制要强大的多,可以做更多的控制,本节将来...

621

扫码关注云+社区