`
sillycat
  • 浏览: 2551711 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Spring Boot and RESTful API(11)Deployment and Docker

 
阅读更多
Spring Boot and RESTful API(11)Deployment and Docker

Find Market Place and search for buildship, Install plugin for Gradle

The import the project into Eclipse from Import Gradle Project

Clean the svn or git information
>find . -name ".svn" | xargs rm -Rf
>find . -name ".git" | xargs rm -Rf

On CentOS
here is the start file start.sh
#!/bin/sh -ex

APPLICATION_SECRET="nosessionshere"

cd /share/

java \
-Xms2G -Xmx2G -XX:MaxMetaspaceSize=256M \
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="/tmp/dump_oom.hprof" \
-jar -Dspring.profiles.active=prod price-monitor-server.jar 2>&1

Here is the Makefile to build the image
IMAGE=sillycat/public
TAG=centos7-price-monitor-server
NAME=centos7-price-monitor-server

app-build:
./gradlew clean build -x test

docker-context:

build: docker-context
docker build -t $(IMAGE):$(TAG) .

run:
docker run -d -p 8080:8080 --name $(NAME) $(IMAGE):$(TAG)
debug:
docker run -ti -p 8080:8080 --name $(NAME) $(IMAGE):$(TAG) /bin/bash

clean:
docker stop $(NAME)
docker rm $(NAME)

logs:
docker logs ${NAME}

publish:
docker push ${IMAGE}


Here is the steps and features in Dockerfile
#Run a Simple REST API based on playframework

#Prepre the OS
FROM            centos:7
MAINTAINER      Carl Luo <luohuazju@gmail.com>

ENV             DEBIAN_FRONTEND noninteractive

#Prepare S3 command tool
RUNyum --enablerepo=extras -y install epel-release
RUNyum -y update
RUNyum -y install python-pip
RUNpip install --upgrade pip
ENV         PATH="~/.local/bin:${PATH}"

#Install Java
RUN         yum install -y java-1.8.0-openjdk

#Install the Application
RUN         mkdir /share/
WORKDIR     /share/

ADD         build/libs/price-monitor-server.jar /share/

#Start the Application
EXPOSE 8080
RUN     mkdir -p /app/
ADD     start.sh /app/
WORKDIR /app
CMD[ "./start.sh" ]

On RaspberryPi


References:
http://www.vogella.com/tutorials/EclipseGradle/article.html#eclipse-gradle-support



分享到:
评论

相关推荐

    hands-full-stack-development-spring-boot-2-react

    This book will teach you how to build RESTful API endpoints and work with the data access Layer of Spring, using Hibernate as the ORM. As we move ahead, you will be introduced to the other components...

    microservices spring boot sample java.rar

    标题 "microservices spring boot sample java.rar" 暗示了一个包含使用Spring Boot构建微服务的Java示例项目。这个压缩包可能包含一个或多个人为构建的微服务应用,利用Spring框架的强大功能,尤其是Spring Boot的...

    微服务(Microservices)和云原生架构教学案例项目,基于Spring Boot和Ku-staffjoy.zip

    微服务架构是一种将单一应用程序拆分为一组小型、独立的服务的方法,每个服务都专注于一个特定业务功能,通过轻量级通信机制(如HTTP RESTful API)协同工作。Spring Boot是Java生态系统中广泛使用的框架,它简化了...

    product-spring-boot:基于Spring Boot构建的产品微服务示例

    Spring Boot与Docker、Kubernetes等云原生技术结合,能轻松实现微服务的容器化和集群管理。通过Docker,可以打包应用及其依赖,Kubernetes则提供了服务发现、负载均衡、弹性伸缩等功能。 7. **API设计**: 示例...

    基于Springboot+MySql+Bookstrap的无偿献血服务管理系统.zip

    4. **RESTful API**:基于Spring Boot的应用通常会采用RESTful架构风格设计API,以实现松耦合的分布式系统。这种设计允许前端和后端通过HTTP协议交换数据,使得系统更易于扩展和维护。 5. **Gradle或Maven**:项目...

    BlogService:一个用Java和Spring Boot编写的简单博客服务

    这个项目的核心目标是展示如何利用Spring Boot的便利性来快速开发一个RESTful API,使得开发者能够通过HTTP请求与后端服务进行交互。 在Spring Boot的架构下,`BlogService`很可能采用了模块化设计,包括但不限于...

    spring cloud

    Spring Cloud是当前流行的微服务架构解决方案之一,它基于Spring Boot,旨在简化微服务架构的搭建。Spring Cloud提供了一系列工具,用于快速构建分布式系统中的一些常见模式(如配置管理、服务发现、断路器、智能...

    spring_reddit_clone

    15. **Cloud Deployment**: 如果项目考虑云部署,可能会使用AWS、Google Cloud或Azure等云服务,利用Spring Cloud服务发现、配置中心等功能。 以上是基于标题和描述可能涉及的一些关键知识点。由于标签为空,具体的...

    e-commerce

    **电子商务API研究** ...综上所述,"e-commerce"项目通过Java、JPA和Spring Boot技术,构建了一个完整的电子商务API,涵盖了数据存储、安全控制、API交互等多个方面,为开发高效、安全的电商平台提供了基础架构。

    curso-spring-angular-algaworks:Projeto Algamoney da Algaworks

    通过参与这个项目,学习者不仅可以提升Spring和Angular的实际开发技能,还能掌握现代Web开发的最佳实践,包括TDD(Test-Driven Development)、Docker化部署、API设计原则等。这将为他们未来的IT职业生涯打下坚实的...

    ponto-inteligente-api

    综上所述,"ponto-inteligente-api"是一个利用Java和Spring技术栈构建的智能考勤系统,涵盖了从数据库交互到RESTful API设计,再到自动化部署的多个方面。通过理解这些核心概念和技术,你可以更好地理解和构建类似的...

    QuizManagement

    7. **Deployment**:使用Spring Boot的打包特性,QuizManagement可以被打包成一个可执行的JAR或WAR文件,方便部署到各种环境,如本地开发机器、云服务器或容器化平台(如Docker)。 文件名"QuizManagement-main...

    导师交流系统.zip

    2. **Express/Flask/Spring Boot**: 这些是常见的后端框架,用于简化开发流程,提供API接口。 3. **RESTful API**: 设计符合REST原则的接口,方便前后端通信,确保数据交换的规范性。 4. **WebSocket**: 实时通信...

    JM专案

    如果JM专案使用Spring,开发者需熟悉Spring Boot、Spring MVC和Spring Data等子模块。 4. **数据库交互**:项目可能涉及到与数据库的交互,如MySQL、Oracle或MongoDB等。JPA(Java Persistence API)或MyBatis可能...

    deployment-node

    这可能包括Spring Boot、Express.js等框架,构建RESTful API与前端交互。 3. **CampusMölndalTommy Hallqvist**:这可能是课程或项目的归属地,暗示这是一个教育背景下的任务,由Tommy Hallqvist指导。 4. **基准点...

    RapidaEntrega

    10. **Cloud Deployment**:为了实现弹性扩展和高可用性,项目可能部署在AWS、Google Cloud Platform或Azure等云平台上,利用容器化技术如Docker和Kubernetes进行集群管理。 【开发流程】 1. **需求分析**:明确...

    最全面的JAVA和JAVAEE面试题

    - Spring框架:掌握依赖注入(DI)和面向切面编程(AOP),理解Spring Boot的优势。 - JSF(JavaServer Faces):用于构建Web应用的UI组件模型。 - Struts2:理解MVC框架中的Struts2实现。 - RESTful服务:创建...

    bbooks-backend:TCC BBooks的Java库或后端存储库

    5. **RESTful API设计**:后端服务通常通过API与前端或其他服务通信,遵循REST(Representational State Transfer)原则设计的API可以提供良好的可扩展性和易用性。 6. **版本控制**:由于提到了“develop”分支,...

Global site tag (gtag.js) - Google Analytics