`
wang94777600
  • 浏览: 11853 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Springboot快速上手- 第五篇 部署应用

阅读更多

 

 

1 部署可执行jar

Java –jar 启动

2 部署war

注意:就算我们在构建的是WAR文件,这个文件仍旧可以脱离应用服务器直接运行

部署到外部tomcat

1:pom里面修改jar为war,然后添加依赖

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
     <scope>provided</scope>
 </dependency>

2:让启动类App继承SpringBootServletInitializer并重写configure方法,例如:

public class App extends SpringBootServletInitializer{
   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
     return application.sources(App.class);
   }
}

3:然后就可以打包部署到外部tomcat了

3 部署到Docker

一:第一种方法

1:直接把制作好的jar/war包上传到有docker的服务器上

2:然后在上面写Dockerfile,进行镜像制作

3:然后使用这个镜像

image.png
image.png

二:应用docker-maven-plugin插件工具来直接编译,生成docker镜像

1:在开发机器上安装docker-toolbox,地址:https://www.docker.com/products/docker-toolbox,提示:不要去想一些其它捷径,比如什么开启Docker远程访问之类的方法(就是修改docker配置文件/usr/lib/systemd/system/docker.service,在ExecStart这行后面添加上: -H tcp://0.0.0.0:1234 -H unix:///var/run/docker.sock),这些基本上都是不可行的

2:安装好了之后,使用docker-machine的命令来操作,比如:

创建虚拟机(可以使用docker-machine来创建,也可以直接运行toolbox生成):
docker-machine create –driver virtualbox default
启动虚拟机:docker-machine start default
停止虚拟机:docker-machine stop default

使用ssh登录到default,登上后,就可以使用docker命令了:

docker-machine ssh default
查看环境变量:docker-machine env
查看帮助:docker-machine help

3:在工程的src/main下面新建一个docker文件夹,然后在里面放置Dockerfile,示例如下:

FROM frolvlad/alpine-oraclejdk8:slim
COPY springbootstudy.jar springbootstudy.jar
EXPOSE 8080
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom”, “-jar”, “/springbootstudy.jar" ]

4:在pom里面添加plugin

 

image.png
image.png
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-<u>maven</u>-<u>plugin</u></artifactId>
    <version>0.4.13</version>
    <configuration>
        <imageName>${project.name}:${project.version}</imageName>
        <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
        <skipDockerBuild>false</skipDockerBuild>
        **<dockerHost>https://127.0.0.1:2376</dockerHost>**
        **<dockerCertPath>/Users/cc/.docker/machine/machines/default</dockerCertPath>**
        <resources>
            <resource>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

5:然后运行maven,如:mvn clean package docker:build –DskipTests

6:使用ssh登录到default,就可以docker images,看到你构建的镜像了

7:如果要直接push到私有仓库的话,在mvn命令后面加上 –DpushImage

8:如果运行的时候,报https的错误,这个不但需要修改私有仓库那边的docker配置(前面学过了),还需要修改toolbox里面的docker配置

(1)docker-machine ssh default
(2)sudo vi /var/lib/boot2docker/profile

EXTRA_ARGS='
--label provider=virtualbox
**--insecure-registry  192.168.99.100:5000** 

(3)然后重新启动:sudo /etc/init.d/docker restart

0
2
分享到:
评论

相关推荐

    springboot-page-master.zip

    SpringBoot是由Pivotal团队提供的全新框架,其设计目标是使创建独立的、生产级别的基于Spring的应用变得极其简单,它集成了大量常用的第三方库配置(如DataSource、JPA、MongoDB、RabbitMQ等),默认配置能帮助...

    基于springboot的毕设-餐厅点餐系统(源码+配置说明).zip

    本篇文章将围绕“基于SpringBoot的毕设-餐厅点餐系统”进行详细解析,旨在帮助读者理解并掌握如何运用SpringBoot构建实际的业务系统。 首先,我们要了解SpringBoot的核心特性。SpringBoot简化了Spring应用的初始...

    基于springboot的毕设-音乐翻唱与分享平台(源码+配置说明).zip

    SpringBoot是Java领域的一款快速开发框架,它简化了Spring应用的初始搭建以及开发过程,通过自动配置和starter pom来帮助开发者快速上手。这个项目不仅包含了源代码,还有配置说明,非常适合学习者研究和理解...

    springboot-with-jojoldu

    Jojoldu是一位知名的韩国开发者,他的项目通常包含详尽的教程和实例,可以帮助开发者快速上手并深入理解技术。在这个项目中,他可能涵盖了SpringBoot的基本用法、常见问题解决、最佳实践等方面,通过实际操作,让...

    Springboot-demo

    SpringBoot旨在简化Spring应用的初始搭建以及开发过程,它集成了大量常用的第三方库配置,如数据源、JPA、MVC、安全等,让我们能够快速构建起强大的Web应用。本篇将围绕"Springboot-demo"这一主题,深入剖析...

    springboot-demo

    "springboot-demo" 是一个基于 SpringBoot 的入门级项目,旨在帮助开发者快速了解和上手 SpringBoot。 在 "springboot-demo" 中,我们可以看到以下几个关键的知识点: 1. **起步依赖(Starter Dependency)**:...

    java-springboot-29页零基础部署图文详解.pdf

    你是否渴望快速上手 Spring Boot 项目,却在安装、配置、运行、调试和部署环节屡屡碰壁?别担心,我们为你精心准备的这份详细文档将成为你的得力助手!这份文档循序渐进地引导你完成 Spring Boot 项目环境的搭建。从...

    基于springboot的个人理财系统论文-基于springboot的个人理财系统-java-文档

    - **界面友好**:简洁明了的操作界面,便于用户快速上手。 - **操作便捷**:支持多种操作方式,如快捷键、鼠标拖拽等,提高用户体验。 - **功能全面**:涵盖个人财务管理的各个方面,满足不同用户需求。 - **稳定性...

    springboot

    - **第一步**:介绍如何快速上手,包括环境搭建与基础项目创建。 - **使用Spring Boot**:详细介绍如何利用Spring Boot来构建应用。 - **了解Spring Boot 特性**:探讨Spring Boot的核心功能和技术优势。 - **迁移到...

    25、SpringBoot入门及原理(狂神)

    SpringBoot集成了众多第三方库,如数据存储(Redis、MongoDB)、消息队列(RabbitMQ)、任务调度(Quartz)等,使得开发者可以快速启动并运行应用,无需繁琐的配置。 SpringBoot的主要优点包括: 1. **快速入门**...

    springboot-dome

    它集成了大量常用的第三方库配置,如JDBC、MongoDB、JPA、RabbitMQ、Quartz等,让开发者能够快速地创建出生产级别的独立运行的Java应用。 1. **Spring Boot核心概念** - **起步依赖(Starter Dependency)**:...

    SpringBoot实战(第四版)带目录可以复制粘贴

    《SpringBoot实战(第四版)》是一本专为SpringBoot初学者设计的高清教程,由丁雪丰翻译,提供清晰的目录结构,并且允许文本复制...对于希望快速上手并深入理解SpringBoot的初学者而言,这本书无疑是一份宝贵的资源。

    springboot2教程pdf

    - **快速入门**:SpringBoot的目标之一就是降低Spring框架的入门门槛,即使是新手也能快速上手。 - **开箱即用**:SpringBoot提供了大量的默认配置,减少了开发者在项目初期配置上的工作量。 - **内嵌容器**:...

    springboot实战,javaee巅覆者

    《SpringBoot实战:JavaEE颠覆者》是一本深入探讨SpringBoot技术的书籍,它揭示了如何利用SpringBoot简化Java企业级应用的开发流程,从而颠覆传统的JavaEE开发模式。本书的前三章源码提供了基础而关键的学习材料,...

    springboot-springboot+vue雅妮电影票购买系统.zip

    SpringBoot作为当下最为流行的Java开发框架之一,以其快速配置和独立部署的优势,极大地简化了基于Spring的应用开发流程。项目中使用SpringBoot作为后端开发框架,不仅能够快速启动和运行项目,还能方便地集成各种...

    Java-SpringBoot-vue基于微信小程序的学生宿舍管理系统实现源码

    Java-SpringBoot-vue技术组合在学生宿舍管理系统中的应用研究 随着信息技术的发展,数字化校园建设日益受到重视。学生宿舍作为学校基础设施的一部分,其管理效率和管理水平直接影响到学生的居住体验和校园安全。...

    廖师兄两小时学会SpringBoot

    通过"廖师兄两小时学会SpringBoot"的学习资源,你可以系统地了解并掌握上述知识点,快速上手SpringBoot开发,实现高效便捷的Java应用构建。在实际学习过程中,建议结合代码示例和实践项目,巩固理解,提升技能。

    SpringBoot

    在提供的"SpringBoot讲义.pdf"中,你可能会学习到SpringBoot的基础概念、配置方式、启动流程、Actuator的使用,以及如何创建第一个SpringBoot应用。随着深入,你还将接触到SpringCloud的相关组件,学习如何整合...

    springboot2-示例

    SpringBoot通过提供默认配置来简化Spring应用的创建,从而使得开发者可以快速上手并构建可生产的应用。这个“springboot2-示例”项目可能是为了帮助初学者和有经验的开发者更好地理解和运用SpringBoot2的核心特性。 ...

    SpringBoot项目博客系统-包含前台后台前端后端-适合作为Java学习的第一练手项目.zip

    Spring Boot是Spring框架的一个扩展,旨在简化Spring应用程序的初始搭建以及开发过程,它通过自动化配置、起步依赖等特性,使得开发者能够快速上手。 描述中提到的“包含前台后台前端后端”,意味着这个项目不仅...

Global site tag (gtag.js) - Google Analytics