• 让你的Spring Boot应用快速运行在Docker上面



    前置条件:

    1. 服务器(我这边是CentOS7)上已经安装了Docker(安装步骤很简单,可以参考我上一篇博客)

    2.服务器上已经安装了Java和Maven

    在满足以上条件后,我们就可以开始了:

    1. 创建一个简单的Spring Boot应用,应用只有一个控制器DockerController,内容如下:

    package cn.bounter.docker.controller;
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping("/api/docker")
    public class DockerController {
    
        @GetMapping
        public String get() {
            return "Hello Docker!";
        }
    
    }

    2. 在pom文件中添加dockerfile-maven-plugin插件,添加之后的build如下:

    <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
    
                <!--Docker-->
                <plugin>
                    <groupId>com.spotify</groupId>
                    <artifactId>dockerfile-maven-plugin</artifactId>
                    <version>1.3.6</version>
                    <executions>
                        <execution>
                            <id>default</id>
                            <phase>package</phase>
                            <goals>
                                <goal>build</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <repository>bounter/${project.artifactId}</repository>
                        <buildArgs>
                            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                        </buildArgs>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    3. 在和pom文件同级目录下创建Dockerfile,内容如下:

    FROM openjdk:8
    VOLUME /tmp
    ARG JAR_FILE
    COPY ${JAR_FILE} app.jar
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

    4. 拷贝应用代码到服务器,在pom所在的目录执行:mvn clean package

    5. 查看所创建的镜像:docker images

    6. 创建容器并运行:docker run -d -p 8080:8080 bounter/bounter-docker

    7. 验证:curl localhost:8080/api/docker

    以上就是全部步骤了,是不是很简单哉,赶快自己动手试试吧!如果还有什么不明白的,请参考我的Github,地址:https://github.com/13babybear/bounter-docker

  • 相关阅读:
    SQLite剖析之异步IO模式、共享缓存模式和解锁通知
    SQLite剖析之动态内存分配
    SQLite剖析之锁和并发控制
    SQLite剖析之临时文件、内存数据库
    SQLite剖析之数据类型
    关于Docker目录挂载的总结(一)
    docker常用命令
    玩转docker(一)
    go hello
    术语“go”不被识别为cmdlet,函数,脚本文件或可操作程序的名称
  • 原文地址:https://www.cnblogs.com/gdufs/p/9564407.html
Copyright © 2020-2023  润新知