zoukankan      html  css  js  c++  java
  • 用docker部署springboot项目

    创建springboot项目,编写一个简单的hello world controller

    下面是效果图。

    下面是pom.xml 文件。

     1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     2   <modelVersion>4.0.0</modelVersion>
     3   <groupId>com.lmy</groupId>
     4   <artifactId>springboot-docker</artifactId>
     5   <version>0.0.1-SNAPSHOT</version>
     6   
     7     <parent>
     8         <groupId>org.springframework.boot</groupId>
     9         <artifactId>spring-boot-starter-parent</artifactId>
    10         <version>1.5.3.RELEASE</version>
    11         <relativePath />
    12     </parent>
    13 
    14     <properties>
    15         <java.version>1.8</java.version>
    16         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    17         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    18     </properties>
    19     <dependencies>
    20         <dependency>
    21             <groupId>org.springframework.boot</groupId>
    22             <artifactId>spring-boot-starter-web</artifactId>
    23         </dependency>
    24         <dependency>
    25             <groupId>org.springframework.boot</groupId>
    26             <artifactId>spring-boot-starter-test</artifactId>
    27             <scope>test</scope>
    28         </dependency>
    29     </dependencies>
    30     <build>
    31         <plugins>
    32             <plugin>
    33                 <groupId>org.springframework.boot</groupId>
    34                 <artifactId>spring-boot-maven-plugin</artifactId>
    35             </plugin>
    36         </plugins>
    37     </build>
    38 </project>
    View Code

    下面是目录结构。

    App.java代码

    package com.lmy.demo;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class App {
        public static void main(String[] args) {
            SpringApplication.run(App.class, args);
        }
    }

    HelloController.java代码

    package com.lmy.demo.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/hello")
    public class HelloController {
    
        @GetMapping("/hi/{name}")
        public String sayHello(@PathVariable String name){
            return "hi,"+name;
        }
    }

    将springboot项目打包成jar包。

    我是在pom中加入了maven build的plugin,右键project,选择Run As 选择maven build, 在goals中输入package

    控制台出现下面的字样表示打包成功,

    这时候在target文件夹中出现了build出来的jar包。

    将这个jar包拷贝到dockerfile文件的同一级目录。

    Dockerfile代码

    FROM java:8
    ENV REFRESHED_AT 2019-07-25
    ADD springboot-docker-0.0.1-SNAPSHOT.jar app.jar
    RUN sh -c 'touch /app.jar'
    ENV JAVA_OPTS=""
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

    运行下面的命令创建镜像
    sudo docker build -t lmy/springboot_v1 .
    运行下面的命令创建运行容器,
    sudo docker run -d -p 8085:8080 lmy/springboot_v1

    下面可以看到已经运行成功了。

  • 相关阅读:
    浙大数据结构课后习题 练习二 7-2 Reversing Linked List (25 分)
    浙大数据结构课后习题 练习二 7-2 一元多项式的乘法与加法运算 (20 分)
    浙大数据结构课后习题 练习一 7-1 Maximum Subsequence Sum (25 分)
    浙大数据结构课后习题 练习一 7-1 最大子列和问题 (20 分)
    PAT Basic 1019 数字黑洞 (20 分)
    PAT Basic 1017 A除以B (20 分)
    PAT Basic 1013 数素数 (20 分)
    PAT Basic 1007 素数对猜想 (20 分)
    PAT Basic 1003 我要通过! (20 分)
    自动化运维——HelloWorld(一)
  • 原文地址:https://www.cnblogs.com/liumy/p/11247667.html
Copyright © 2011-2022 走看看