本文主要讲的是使用docker运行springboot项目

获取一个springboot项目

这里我没有重新构建,用的之前写的一个项目,直接从github上下载下来,地址:https://github.com/FunCodingOfWe/kevin-boot

注意:我现在已经将dockerfile上传

编写Dockerfile

  1. # 基础镜像使用java
  2. FROM java:8
  3. # 作者
  4. MAINTAINER kevin <923604825@qq.com>
  5. # VOLUME 指定了临时文件目录为/tmp。
  6. # 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
  7. VOLUME /tmp
  8. # 将jar包添加到容器中并更名为app.jar
  9. ADD kevin-admin-0.0.1-SNAPSHOT.jar app.jar
  10. # 运行jar包
  11. RUN bash -c 'touch /app.jar'
  12. ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

整理的目录结构如下

生成docker镜像

1、运行mvn install 将项目打包成jar包

2、复制jar包和Dockerfile文件到一个文件夹下

3、进入该文件夹,然后运行 docker build -t kevin-boot .

  1. $ docker build -t kevin-boot .
  2. Sending build context to Docker daemon 37.17MB
  3. Step 1/6 : FROM java:8
  4. 8: Pulling from library/java
  5. 5040bd298390: Pull complete
  6. fce5728aad85: Pull complete
  7. 76610ec20bf5: Pull complete
  8. 60170fec2151: Pull complete
  9. e98f73de8f0d: Pull complete
  10. 11f7af24ed9c: Pull complete
  11. 49e2d6393f32: Pull complete
  12. bb9cdec9c7f3: Pull complete
  13. Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
  14. Status: Downloaded newer image for java:8
  15. ---> d23bdf5b1b1b
  16. Step 2/6 : MAINTAINER kevin <923604825@qq.com>
  17. ---> Running in 5221f818f2b5
  18. Removing intermediate container 5221f818f2b5
  19. ---> 87c87989d791
  20. Step 3/6 : VOLUME /tmp
  21. ---> Running in 6c23e4541df0
  22. Removing intermediate container 6c23e4541df0
  23. ---> 62ff9644cf44
  24. Step 4/6 : ADD kevin-admin-0.0.1-SNAPSHOT.jar app.jar
  25. ---> a3362f0f3ce0
  26. Step 5/6 : RUN bash -c 'touch /app.jar'
  27. ---> Running in a40ec77f3c91
  28. Removing intermediate container a40ec77f3c91
  29. ---> 4e3417d31bd4
  30. Step 6/6 : ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  31. ---> Running in b8f66a99abc3
  32. Removing intermediate container b8f66a99abc3
  33. ---> 9c7986106945
  34. Successfully built 9c7986106945
  35. Successfully tagged kevin-boot:latest

4.检查是否已经存在镜像 docker images

  1. $ docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. kevin-boot latest 9c7986106945 40 seconds ago 718MB
  4. java 8 d23bdf5b1b1b 2 years ago 643MB

我们可以看到已经存在

运行kevin-boot镜像

  1. docker run -d -p 8099:8080 kevin-boot

验证一下

输入http://localhost:8099/hello

好了,玩的开心

使用docker运行springboot项目的更多相关文章

  1. ubuntu18下Docker运行springboot项目

    1.springboot项目打成jar包 mvn install 2.编写Dockerfile # 基础镜像使用java FROM java:8 # 作者 #MAINTAINER sk # VOLUM ...

  2. linux安装docker,并在docker上运行springboot项目

    docker架构示例图 仓库---> 镜像 --->  容器 一.安装docker 1.通过 uname -r 命令查看你当前的内核版本 uname -r 2使用 root 权限登录 Ce ...

  3. 使用外部容器运行spring-boot项目:不使用spring-boot内置容器让spring-boot项目运行在外部tomcat容器中

    前言:本项目基于maven构建 spring-boot项目可以快速构建web应用,其内置的tomcat容器也十分方便我们的测试运行: spring-boot项目需要部署在外部容器中的时候,spring ...

  4. SpringBoot(十六)-- 使用外部容器运行springBoot项目

    spring-boot项目需要部署在外部容器中的时候,spring-boot导出的war包无法再外部容器(tomcat)中运行或运行报错. 为了解决这个问题,需要移除springBoot自带的tomc ...

  5. 运行springboot项目报错:Field userMapper in XX required a bean of type 'xx' that could not be found.

    运行springboot项目报错: *************************** APPLICATION FAILED TO START ************************** ...

  6. 报错----运行springboot项目出现:Type javax.xml.bind.JAXBContext not present

    目的:运行springboot项目出现:Type javax.xml.bind.JAXBContext not present 环境: 问题:运行springboot项目出现:Type javax.x ...

  7. Docker部署运行springboot项目,并使用Dockerfile制作镜像

    前言: 本来是要搭建一个自动化部署分布式项目的服务器平台的,使用jenkins+k8s+ELK+springboot把一个简单的springboot项目给搞起来,由于工程太大,先分开把每个技术组件单独 ...

  8. 从零开始学习docker之在docker中运行springboot项目

    一.docker环境配置 首先需要一个安装了docker的服务器(本地或者云服务器),如果没有请看上文,传送门---https://www.cnblogs.com/wdfordream/p/12737 ...

  9. docker部署springboot项目

    本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...

随机推荐

  1. Tesseract.js 一个几乎能识别出图片中所有语言的JS库

    Tesseract.js 一个几乎能识别出图片中所有语言的JS库. 官网:http://tesseract.projectnaptha.com/ git:https://github.com/napt ...

  2. leaflet实现风场图(附源码下载)

    前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...

  3. jsp + js + 前端弹出框

    在项目中,前端页面我们时常需要各种各样的弹出框: 1.alert对话框:显示含有给定消息的"JavaScript Alert"对话框 代码: var a = "Hello ...

  4. nginx安装及配置访问本地文件

    第一步安装nginx windows可以直接去官网下载,解压就能用 http://nginx.org/en/download.html ubuntu用命令行 sudo apt-get install ...

  5. uiautomatorviewer 报错 Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!

    在进行自动化时经常需要使用到 uiautomatorviewer获取控件的各个属性,然后在脚本中通过各个控件的属性来操作. 如果使用的是uiautomator2的话,一般都是使用weditor这个来查 ...

  6. 每日JAVA面试

  7. springboot之jpa的支持

    1.springboot之jpa支持 2.Springboot+bootstrap界面版之增删改查及图片上传 springboot之jpa支持 导入相关pom依赖 <dependency> ...

  8. Linux下安装Redis以及遇到的问题

    参考链接:https://www.cnblogs.com/zdd-java/p/10288734.html https://www.cnblogs.com/uncleyong/p/9882843.ht ...

  9. JavaScript中使用正则表达式

    JavaScript中正则表达式的使用 创建正则对象 RegExp 对象是带有预定义属性和方法的正则表达式对象. 方式一: var reg = new RegExp("\d", ' ...

  10. ASP.NET中使用附文本框插件

    使用附文本选项框插件步骤 Newtonsoft.Json 改变js的配置文件的url 最后一定要关闭页面中的 ValidateRequest=false