前言:

  本来是要搭建一个自动化部署分布式项目的服务器平台的,使用jenkins+k8s+ELK+springboot把一个简单的springboot项目给搞起来,由于工程太大,先分开把每个技术组件单独给撸一遍过去再说。全撸一遍过去后,再来整合搭建这个浩大的全方位服务器自动部署工程。

  唉,先用Docker发布一个springboot镜像demo练练手吧。

  借鉴博客:https://www.imooc.com/article/44582

  借鉴博客(此博客有连接数据库):https://segmentfault.com/a/1190000013096870

  

准备环境:

  【注意:搞这些东西的时候一定要关闭服务器的防火墙】

  CentOS7服务器一台:192.168.26.233    (服务器上安装docker就不多说了)

  springboot项目的demo一个:thymeleaf-master  (以前用来测试thymeleaf技术的一个小demo项目,正好拿来用)

第一步:准备测试的springboot项目:thymeleaf-master

  1、thymeleaf-master项目的指定启动端口为:8082

  2、thymeleaf-master项目本地启动后的页面:

  3、把此项目打成jar包,操作如下图:

第二步:docker把jar包构建成镜像:

    1、把上面打好的jar包,上传到CentOS服务器上,我在服务器上新建了目录/usr/local/dev/docker/testProject/,把jar包丢到testProject目录里,再建一个Dockerfile文件,此文件是来用构建镜像的配置,如下图:

  

    2、Dockerfile配置文件的内容:

FROM java:8
VOLUME /tmp
ADD thymeleaf-master-1.0-SNAPSHOT.jar /thymeleaf-master.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/thymeleaf-master.jar"]

    3、执行docker构建镜像命令:

#thymeleaf-master表示生成镜像的名称,(注意后面有个点.)
docker build -t thymeleaf-master .

    4、查看打成的镜像是否存在:(可以看到有两镜像,已经成功了。docker.io/java估计是docker自动打成的jar包运行环境jdk8镜像)

    5、运行刚才构建成的镜像:

#这里我项目用的8082端口,这里我也映射8082端口,加上--name xxx是为了给容器取别名,方便docker命令操作
docker run -d -p 8082:8082 --name thymeleaf-master thymeleaf-master

    6、浏览器打开ip:8082端口,查看:

=============2019年11月10日更新==============================

项目变成容器运行在docker里,怎么查看项目日志:

容器日志命令查看:表示查看容器名为thymeleaf-master的500行日志

docker logs -f -t --tail  thymeleaf-master

Docker部署运行springboot项目,并使用Dockerfile制作镜像的更多相关文章

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

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

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

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

  3. docker 中部署一个springBoot项目

    docker 中部署一个springBoot项目 (1)介绍 springBoot项目 1.项目结构 2.pom.xml <?xml version="1.0" encodi ...

  4. 使用docker运行springboot项目

    本文主要讲的是使用docker运行springboot项目 获取一个springboot项目 这里我没有重新构建,用的之前写的一个项目,直接从github上下载下来,地址:https://github ...

  5. Windows Docker 部署 Spring Boot 项目

    目录 Docker Configuration Config IDEA Plugin Create Spring Boot Project Containerize It Use Dockerfile ...

  6. 使用 Docker 部署 Spring Boot 项目

    Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...

  7. 使用 Docker 部署 Spring Boot 项目,带劲!!

    上一篇:年轻人的第一个 Docker 应用 Docker 一次构建.处处运行及快速启停的特性,在微服务架构中有着举足轻重的地位,具体的概念性的东西就不介绍了,不懂的点击这里阅读 Docker 基础教程 ...

  8. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

  9. Docker 部署前后端项目

    Docker 部署前后端项目 平生不会相思,才会相思,便害相思. 简介:都是被逼的,从零开始一个Docker 部署九个微服务和三个前端项目.其中,这些服务需要用到Nacos.MySQL.Nginx.E ...

随机推荐

  1. MySQL高级知识(五)——索引分析

    前言:前面已经学习了explain(执行计划)的相关知识,这里利用explain对索引进行优化分析. 0.准备 首先创建三张表:tb_emp(职工表).tb_dept(部门表)和tb_desc(描述表 ...

  2. img的complete和onload

    HTML DOM complete 属性 定义和用法: complete 属性可返回浏览器是否已完成对图像的加载. 如果加载完成,则返回 true,否则返回 fasle. 语法: imageObjec ...

  3. ESP8266烧录配置

    装载的网页在工程目录下同个文件夹data

  4. Mybatis学习总结(六)——高级映射(一对一,一对多,多对多)

    一.订单商品数据模型 1.数据库执行脚本 创建数据库表代码: /*Table structure for table `t_user` */ CREATE TABLE t_user ( id INT ...

  5. C# 中使用log4.net的注意事项

    新建Log4Net.config文件,内容为 <?xml version="1.0" encoding="utf-8" ?> <configu ...

  6. BZOJ4061/Gym100624F CERC2012 Farm and Factory 最短路、切比雪夫距离

    传送门--BZOJCH 传送门--Vjudge 设\(f_i\)表示\(i\)到\(1\)号点的最短距离,\(g_i\)表示\(i\)到\(2\)号点的最短距离,\(s_i\)表示\(n+1\)号点到 ...

  7. UIWindow 官方文档解析

    UIWindow定义了一个window对象,其用于管理和协调一个app在设备屏幕上的显示.除非一个app能在外部设备上显示内容,一般就只有一个window. window的主要功能:1)提供一个区域来 ...

  8. keras神经网络三个例子

    keras构造神经网络,非常之方便!以后就它了.本文给出了三个例子,都是普通的神经网络 例一.离散输出,单标签.多分类 例二.图像识别,单标签.多分类.没有用到卷积神经网络(CNN) 例三.时序预测, ...

  9. Java类的加载及实例的创建

    java中class.forName()和classLoader都可用来对类进行加载.class.forName()前者除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的sta ...

  10. 一款优秀的前端框架——AngularJS

      前  言 AngularJS是一款为了克服HTML在构建应用上的不足而设计的优秀的前端JS框架.AngularJS有着诸多特性,最为核心的是:MVC.模块化.自动化双向数据绑定.语义化标签.依赖注 ...