利用Docker部署SpringBoot应用程序

我们已经安装完成了Java环境,那么本篇就开始怎么部署一个SpringBoot项目到Docker中,Docker实现SpringBoot项目的部署。

首先构建一个SpingBoot项目。

进入 http://start.spring.io,使用Maven的方式快速构建一个springboot工程 image

创建一个HelloWorldController用于接收请求与返回响应

@RequestMapping(value = "hello")
@RestController
public class HelloWorldController {
    @RequestMapping(value = "/{msg}")
    public String hello(@PathVariable String msg){

        return "Hello:\t"+msg;
    }
}

启动SpringBoot工程,发送请求 'http://localhost:8080/hello/CainGao',查看返回结果
image
当前工程构建完成。 在 pom.xml 中添加docker支持 镜像名称

<properties>
        <docker.image.prefix>springboot</docker.image.prefix>
</properties>

添加插件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!-- Docker maven plugin -->
        <plugin>
             <groupId>com.spotify</groupId>
              <artifactId>docker-maven-plugin</artifactId>
              <version>0.4.13</version>
              <configuration>
                  <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                  <dockerDirectory>src/main/docker</dockerDirectory>
                  <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                  </resources>
              </configuration>
          </plugin>
    </plugins>
</build>

创建Dockerfile

FROM openjdk:11
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar /demo.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/demo.jar"]

FROM: 代表IMAGE的父镜像
VALUME: 挂载本地的路径
ADD: 为镜像添加的内容
ENTRYPOINT: 执行的脚本命令

把Dockerfile 与jar包放到同一路径下,执行命令 docker build -t helloworld .
image

执行完成后查看本地镜像列表

现在即可直接使用命令 docker run -d -p 8080:8080 helloworld 启动容器。

当然,还有更加简单的方式进行容器的部署。直接通过maven插件的方式来进行,本次其实我们是没有使用的。因为需要Docker开启远程访问。

当前我们使用的windows的docker desktop版,右键打开Settings-->General-->勾选 Expose daemon on tcp://localhost:2375 without TLS,勾选后Docker会直接进行重启加载。

访问 http://localhost:2375/info 查看是否启动成功. image当前即可直接使用命令 mvn package docker:build 进行构建. image

 

此刻应该大家都实现了直接基于该Dockerfile与maven的方式部署SpringBoot应用到Docker中。

 

关注公众号,回复大数据相关关键词获取相关视频教程,如elasticsearch,即可获取!    公众号搜索:<指尖数虫>

转载于:https://my.oschina.net/CainGao/blog/3081552

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值