发布SpringBoot项目到Docker容器

1、新建SpringBoot项目,这里只选择一个Web依赖

 

 2、修改pom.xml

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
          //如果没有需要加上,不然打出来的jar会很小,运行报错,没有主清单。。 <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>

3、添加一个controller,

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
    @GetMapping("/")
    public String index() {
        return "hello,index";
    }
}

4、点击idea右侧的maven-->Lifecycle中的package ,或者直接在idea底部控制台Terminal中执行命令mvn package

 

 5、可以在项目的target目录下看到生成的jar。可以执行jave -jar xxx.jar测试看下。

6、在项目根目录下新建文件Dockerfile,内容如下:

FROM java:8
COPY *.jar /app.jar

CMD ["----server port :8080----"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]

7、使用附件上传工具(SSH或Xftp)把生成的jar和编写的Dockerfile文件上传至linux服务器自定义的路径下。

 

8、执行构建命令

docker build -t helloweb .

9、docker images查看构建成功的镜像。

10、docker run -d -p 8080:8080 --name myweb helloweb

11、测试运行是否正常。 curl localhost:8080。

 

posted @ 2020-07-23 15:00  流年飞逝  阅读(320)  评论(0编辑  收藏  举报