zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    《转》12个Sublime Text使用技巧
    Sublime Text 3 快捷键总结
    IIS发布的网站常见的问题汇总
    sublime text 3 安装卸载插件和取消启动检查更新
    sublime text 3 环境变量的配置、安装Package Control、汉化和注册
    github贡献开源项目
    github团队协作
    github desktop的使用
    GitHub网站操作
    HTML中的SVG
  • 原文地址:https://www.cnblogs.com/kokomal/p/10690313.html
Copyright © 2011-2022 走看看