使用dockerfile发布简单的springboot程序

SpringBoot创建一个简单的Web应用

  1. 首先登录https://start.spring.io/,选择Gradle + WEB来创建一个基于tomcat的web应用。
  2. 在创建好的web应用里,仅仅填写controller层来达到简单测试的目的。
    Contoller的代码如下:
package com.hellodocker.dockerdemo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

/**

  • @Author You Jia
  • @Date 3/28/2018 3:21 PM
    */
    @RestController
    public class Controller {
    @GetMapping("/HelloK8s")
    @ResponseBody
    String mongoDBupdate(String name) {
    returnHello Docker !!! Hello K8s !!!” ;
    }
    }

  1. 运行Gradle build来生成一个该web应用的jar包。

创建Dockerfile文件

关于Dockerfile的预备知识

创建dockerfile之前,应该要知道一些它的基本知识,这里贴一个很形象的图,它解释了Dockerfile里的常用指令的含义。


图片发自简书App

这里特别需要指出的是, Dockerfile的指令根据作用可以分为两种:构建指令和设置指令。构建指令用于构建image,其指定的操作不会在运行image的容器上执行;设置指令用于设置image的属性,其指定的操作将在运行image的容器中执行。

特别推荐一篇关于dockerfile指令的解释,点击这里

Dockerfile实战
  1. 我在centos上创建了一个跟dockerApp相关的路径:

mkdir dockerApp

  1. 上传前面build成功的jar包到该路径下。
  2. 在dockerApp这个路径下创建dockerfile

touch dockerfile

Dockerfile的内容如下:

FROM openjdk:8
MAINTAINER YOU JIA
LABEL app="myApp" version="0.0.1" by="youjia"
COPY ./dockerdemo-0.0.1-SNAPSHOT.jar mydockerapp.jar
CMD java -jar mydockerapp.jar
  1. 执行 docker build -t myapp . 创建image。
    注意:这里的 . 代表当前路径

  2. Build成功以后,可以通过命令docker images查看已经创建的image。

    image.png

  3. 运行docker run --name mywebapp -p 8080:8080 -d myapp,跑起来!!!

跑起来了~~~

注:可以用docker logs参看自己的image日志,如果发现docker启动不了。。。
举个栗子:比如在我的用例里命令为: docker logs myapp

比本文更值得看的参考文献:

Using Docker to Deploy a Containerized Java Web App

以上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值