zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    【转】win7“您可能没有权限使用网络资源”的解决办法
    windows下顽固软件卸载不了的解决方法
    【转】Windows Server 2008修改远程桌面连接数
    winserver2008,运行可执行文件,提示 激活上下文生成失败。 找不到从属程序集 Microsoft.VC90.DebugCRT,processorArchitecture="x86"
    保障视频4G传输的流畅性,海康威视摄像头相关设置
    【转】win7如何设置共享目录,并且访问不需要输入用户名和密码。
    CentOS7.1配置远程桌面
    C++遍历目录,并把目录里超过7天的文件删除(跨平台windows&linux)
    hibernate(二)一级缓存和三种状态解析
    Android进程间的通信之AIDL
  • 原文地址:https://www.cnblogs.com/spll/p/10059542.html
Copyright © 2011-2022 走看看