欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用Docker部署Spring Boot项目的实现步骤

程序员文章站 2022-03-23 10:29:59
目录创建一个简单的springboot项目一、在 pom.xml 中 ,使用 spring boot 2.2.10 相关依赖二、添加 web 和测试依赖三、创建一个 dockercontroller,...

创建一个简单的springboot项目

一、在 pom.xml 中 ,使用 spring boot 2.2.10 相关依赖

<parent>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-parent</artifactid>
    <version>2.2.10.release</version>
</parent>

二、添加 web 和测试依赖

<dependencies>
     <dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-web</artifactid>
    </dependency>
 <dependency>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-test</artifactid>
  <scope>test</scope>
 </dependency>
</dependencies>

三、创建一个 dockercontroller,在其中有一个hello()方法,访问时返回:hello,nihao

@restcontroller
public class dockercontroller {
 
    @requestmapping("/hello")
    public string hello() {
        return "hello,nihao";
    }
}

四、启动类

@springbootapplication
public class dockerapplication {

 public static void main(string[] args) {
  springapplication.run(dockerapplication.class, args);
 }
}

添加完毕后启动项目,启动成功后浏览器访问:http://localhost:8080/hello,页面返回:hello,nihao,说明 spring boot 项目配置正常。

使用 docker 部署 spring boot 项目

一、将项目打成jar包,拷贝到服务器上,测试一下

[root@jiangwang springbootdemo]# ls
demo-0.0.1-snapshot.jar  dockerfile
[root@jiangwang springbootdemo]# java -jar demo-0.0.1-snapshot.jar 

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: spring boot ::       (v2.2.10.release)

2021-03-18 14:49:18.241  info 12886 --- [           main] com.example.demo.demoapplication         : starting demoapplication v0.0.1-snapshot on jiangwang with pid 12886 (/home/springbootdemo/demo-0.0.1-snapshot.jar started by root in /home/springbootdemo)
2021-03-18 14:49:18.244  info 12886 --- [           main] com.example.demo.demoapplication         : no active profile set, falling back to default profiles: default
2021-03-18 14:49:19.924  info 12886 --- [           main] o.s.b.w.embedded.tomcat.tomcatwebserver  : tomcat initialized with port(s): 8080 (http)
2021-03-18 14:49:19.938  info 12886 --- [           main] o.apache.catalina.core.standardservice   : starting service [tomcat]
2021-03-18 14:49:19.938  info 12886 --- [           main] org.apache.catalina.core.standardengine  : starting servlet engine: [apache tomcat/9.0.38]
2021-03-18 14:49:20.013  info 12886 --- [           main] o.a.c.c.c.[tomcat].[localhost].[/]       : initializing spring embedded webapplicationcontext
2021-03-18 14:49:20.014  info 12886 --- [           main] w.s.c.servletwebserverapplicationcontext : root webapplicationcontext: initialization completed in 1657 ms
2021-03-18 14:49:20.321  info 12886 --- [           main] o.s.s.concurrent.threadpooltaskexecutor  : initializing executorservice 'applicationtaskexecutor'
2021-03-18 14:49:20.520  info 12886 --- [           main] o.s.b.w.embedded.tomcat.tomcatwebserver  : tomcat started on port(s): 8080 (http) with context path ''
2021-03-18 14:49:20.523  info 12886 --- [           main] com.example.demo.demoapplication         : started demoapplication in 2.899 seconds (jvm running for 3.369)

二、看到 spring boot 的启动日志后表明环境配置没有问题,编辑dockerfile文件:

from java:8
copy *.jar /app.jar

cmd ["--server.port=8080"]

expose 8080

entrypoint ["java","-jar","/app.jar"]

三、接下来我们使用 dockerfile 构建镜像:

## 构建镜像
[root@jiangwang springbootdemo]# docker build -t springboot-demo .
sending build context to docker daemon  17.72mb
step 1/5 : from java:8
 ---> d23bdf5b1b1b
step 2/5 : copy *.jar /app.jar
 ---> f4d6aeabd3f0
step 3/5 : cmd ["--server.port=8080"]
 ---> running in a6311f7cf7b5
removing intermediate container a6311f7cf7b5
 ---> d8117b10cefa
step 4/5 : expose 8080
 ---> running in ae180be637bb
removing intermediate container ae180be637bb
 ---> f16702c75ab6
step 5/5 : entrypoint ["java","-jar","/app.jar"]
 ---> running in fafa00625666
removing intermediate container fafa00625666
 ---> d4c3e225699d
successfully built d4c3e225699d
successfully tagged springboot-demo:latest

四、运行镜像:

# 运行镜像
[root@jiangwang springbootdemo]# docker run -d -p 39005:8080 --name my-springboot springboot-demo
7ac35852cb91cb10612cd28fdbe7c50c7c59df4cccf19b2f1d30dcabbfe501f4
[root@jiangwang springbootdemo]# docker ps
container id   image                 command                  created          status          ports                     names
7ac35852cb91   springboot-demo       "java -jar /app.jar …"   33 seconds ago   up 32 seconds   0.0.0.0:39005->8080/tcp   my-springboot
[root@jiangwang springbootdemo]# curl localhost:39005/hello
hello,nihao[root@jiangwang springbootdemo]# 

五、浏览器输入外网网址访问一下:

这里你的外网39005端口首先要开放了,可以去安全组设置

使用Docker部署Spring Boot项目的实现步骤

说明使用 docker 部署 spring boot 项目成功!

到此这篇关于使用docker部署spring boot项目的实现步骤的文章就介绍到这了,更多相关docker部署spring boot内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!