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

前言:

  本来是要搭建一个自动化部署分布式项目的服务器平台的,使用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 500 thymeleaf-master

相关推荐

  1. Docker 项目如何使用 Dockerfile 构建镜像

    2024-07-13 08:30:02       45 阅读
  2. Docker镜像】Node.js项目使用Dockerfile构建镜像

    2024-07-13 08:30:02       42 阅读
  3. Dockerfile部署Docker项目

    2024-07-13 08:30:02       33 阅读
  4. springboot应用打包为docker镜像运行

    2024-07-13 08:30:02       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 08:30:02       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 08:30:02       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 08:30:02       42 阅读
  4. Python语言-面向对象

    2024-07-13 08:30:02       53 阅读

热门阅读

  1. Spuer().__init__的意义

    2024-07-13 08:30:02       27 阅读
  2. 匿名函数与函数

    2024-07-13 08:30:02       27 阅读
  3. ios CCRuntime.m

    2024-07-13 08:30:02       20 阅读
  4. js项目生产环境中移除 console

    2024-07-13 08:30:02       23 阅读
  5. uniapp微信小程序授权登录实现

    2024-07-13 08:30:02       20 阅读
  6. 版本发布 | IvorySQL 3.3 发版

    2024-07-13 08:30:02       25 阅读
  7. 【分布式系统】Ceph对象存储系统之RGW接口

    2024-07-13 08:30:02       26 阅读
  8. 浅谈PostCSS

    2024-07-13 08:30:02       26 阅读
  9. AI学习指南机器学习篇-层次聚类的优缺点

    2024-07-13 08:30:02       18 阅读
  10. 一文学会鉴别“套壳”ChatGPT模型

    2024-07-13 08:30:02       24 阅读
  11. MPPT概念

    2024-07-13 08:30:02       21 阅读
  12. Python MySQL 教程

    2024-07-13 08:30:02       26 阅读
  13. 数据湖仓一体(二) 安装kafka

    2024-07-13 08:30:02       25 阅读