• Docker发布SpringBoot工程(小白版)


    Linux RHEL docker上运行springboot项目,步骤略有小坑,现经过半小时的折腾,总结流程如下:
    1)linux RHEL安装docker
    很简单,

    yum install docker
    

    2)docker环境安装(例如JDK)
    但这里先别急着安装,可以在工程里面配置运行环境,届时会自动安装
    3)springboot工程建立
    这里注意不要用默认的springboot项目ide,推荐采用STS的maven工程项目,并且在建立工程的时候选取maven的archetype
    参考git上的spring-boot-docker用法
    工程创建好了之后,别忘记导入src/main/docker文件夹,里面有重要的DockerFile引导文件和json(aws专用,没有似乎也不影响)
    此工程框架自带的pom里面含有docker打包的一些插件,根据插件会在target目录生成或拷贝相应的文件(DockerFile,jar,zip等)
    DockerFile里面第一行似乎有问题(这似乎是Ubuntu的风格),

    FROM dockerfile/java:oracle-java8
    

    应该改为

    FROM java:latest
    

    反正需要根据实际项目需求修改DockerFile/pom,xml
    4)mvn打包,生成jar,

    mvn clean package
    

    然后将DockerFile一并移到linux RHEL的目标文件夹下(建议放到空文件夹下)
    注意不要放到非空文件夹下,否则后面会不小心把所有文件都上传到container,那就尴尬了
    5)docker命令build刚刚的jar包

    docker build -t docker-boot-demo .
    

    注意上述的命令行后面的".",代表当前路径下所有文件,这里会触发上传、环境镜像的下载更新等多个操作
    最后会提示Successfully built xxxxxx (xxxxxx代表自动生成的uuid)
    输入命令行docker images, 可以看到相应的依赖镜像、本体jar镜像等信息
    6)运行docker镜像,执行命令:

    docker run -p 8085:8080 -t xxxxxx (out:in 代表端口外部:端口内部映射关系,内部端口在DockerFile里面有声明,xxxxxx代表uuid或者镜像名)
    

    很快就可以发现熟悉的boot命令行启动了,此时访问localhost:8085/就可以看到相应的Hello World!了

    接下来,可以做如下的事情:
    打包发布可以用CI/CD集成,即将所有流水线操作脚本化,可以配置到Jenkins或者k8s,具体方案待研究
    docker镜像可以上传到nexus私服或者其他docker的registry

  • 相关阅读:
    浅谈Java设计模式——状态模式(State)
    浅谈Java设计模式——解释器模式(Interpreter)
    浅谈Java设计模式——备忘录模式(Memento)
    struts2 标签
    Struts2 Web资源获取
    链接
    Struts2数据封装机制
    struts学习
    位运算
    归并排序求逆序对
  • 原文地址:https://www.cnblogs.com/kokomal/p/10690313.html
Copyright © 2020-2023  润新知