您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

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

51自学网 2022-07-06 11:25:07
  网站维护

创建一个简单的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

@RestControllerpublic class DockerController {     @RequestMapping("/hello")    public String hello() {        return "hello,nihao";    }}

四、启动类

@SpringBootApplicationpublic 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]# lsdemo-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: default2021-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 WebApplicationContext2021-03-18 14:49:20.014  INFO 12886 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1657 ms2021-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:8COPY *.jar /app.jarCMD ["--server.port=8080"]EXPOSE 8080ENTRYPOINT ["java","-jar","/app.jar"]

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

## 构建镜像[root@jiangwang springbootDemo]# docker build -t springboot-demo .Sending build context to Docker daemon  17.72MBStep 1/5 : FROM java:8 ---> d23bdf5b1b1bStep 2/5 : COPY *.jar /app.jar ---> f4d6aeabd3f0Step 3/5 : CMD ["--server.port=8080"] ---> Running in a6311f7cf7b5Removing intermediate container a6311f7cf7b5 ---> d8117b10cefaStep 4/5 : EXPOSE 8080 ---> Running in ae180be637bbRemoving intermediate container ae180be637bb ---> f16702c75ab6Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"] ---> Running in fafa00625666Removing intermediate container fafa00625666 ---> d4c3e225699dSuccessfully built d4c3e225699dSuccessfully tagged springboot-demo:latest

四、运行镜像:

# 运行镜像[root@jiangwang springbootDemo]# docker run -d -p 39005:8080 --name my-springboot springboot-demo7ac35852cb91cb10612cd28fdbe7c50c7c59df4cccf19b2f1d30dcabbfe501f4[root@jiangwang springbootDemo]# docker psCONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                     NAMES7ac35852cb91   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/hellohello,nihao[root@jiangwang springbootDemo]# 

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

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

说明使用 Docker 部署 Spring Boot 项目成功!


下载地址:
利用njs模块在nginx配置中引入js脚本
nginx
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1