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
原文地址:https://www.cnblogs.com/spll/p/10059542.html