天天看点

在阿里云容器服务上创建一个spring boot应用

你喜欢的文本编辑器或者ide

jdk1.8或以上版本

maven3.0或以上版本

如果你不是在linux操作系统上面做开发,你需要docker-toolbox来构建linux的虚拟环境

下载并解压spring boot应用模板代码

<code>git clone https://github.com/spring-guides/gs-spring-boot-docker.git</code>

<code>cd gs-spring-boot-docker/complete</code>

编辑代码文件<code>src/main/java/hello/application.java</code>使之包含以下内容

<code>@springbootapplication</code>和<code>@restcontroller</code>注解表示java类application已经准备好被spring mvc所调用,并提供http服务。注解<code>@requestmapping("/")</code>表示context path "/"的请求路由到方法home中进行处理,main方法中的<code>springapplication.run()</code>用来启动一个spring boot应用。

首先需要构建一个docker镜像,通常使用dockerfile来描述一个docker镜像的构建过程。

一下是文件<code>src/main/docker/dockerfile</code>内容

使用docker-maven-plugin对docker 镜像进行构建,以下为需要修改pom.xml文件的部分

内容中指定了以下属性

镜像的名称,此处为<code>registry.aliyuncs.com/linhuatest/gs-spring-boot-docker</code>其中<code>registry.aliyuncs.com</code>是阿里云镜像仓库的域名,<code>linhuatest</code>是用户的命名空间,<code>gs-spring-boot-docker</code>是用户某个仓库的名称,此处没有镜像tag,默认tag为latest。

dockerfile文件所在的目录,该目录可以理解为dockerfile的context,保存dockerfile依赖的资源

将何种资源拷贝到dockerfile文件所在的目录,即context中,此处我们只需要编译出来的jar文件。

构建和推送镜像到阿里云镜像仓库,执行下列命令

在阿里云容器服务控制台,指定一个集群,点击<code>创建应用</code>

在阿里云容器服务上创建一个spring boot应用

填写应用的描述信息,点击<code>使用镜像创建</code>

在阿里云容器服务上创建一个spring boot应用

点击<code>选择镜像</code>,从镜像列表中检索到镜像仓库<code>gs-spring-boot-docker</code>,点击勾选,点击<code>确定</code>

在阿里云容器服务上创建一个spring boot应用

spring boot应用默认暴露8080端口,填写端口映射中,容器暴露的端口为<code>8080</code>,此时其他容器可以通过对该容器的8080端口进行访问,但是服务还没有暴露到公网

在阿里云容器服务上创建一个spring boot应用

添加<code>路由</code>的容器端口为<code>8080</code>,域名前缀为<code>spring-boot</code>,最终生成的域名将为<code>spring-boot.&lt;cluster_id&gt;.&lt;region_id&gt;.alicontainer.com</code>,该域名提供给用户测试域名服务。点击<code>创建并部署</code>将创建和部署应用。

在阿里云容器服务上创建一个spring boot应用

应用成功创建和部署后,在服务列表中,找到服务<code>spring-boot-demo_spring-boot-demo</code>,点击进入服务详情页,<code>访问端点</code>即为该web服务对外暴露的网址。

在阿里云容器服务上创建一个spring boot应用

访问网址 http://spring-boot.c1c5ce5e58dcb492784470da517890f5b.cn-beijing.alicontainer.com ,得到页面相应如下

在阿里云容器服务上创建一个spring boot应用