小知识:使用Docker部署Spring Boot项目的实现步骤

目录 创建一个简单的springboot项目 一、在 pom.xml 中 ,使用 Spring Boot 2.2.10 相关依赖 二、添加 web 和测试依赖 三、创建一个 DockerController,在其中有一个hello()方法,访问时返回:hello,nihao 四、启动类 使用 Docker 部署 Spring Boot 项目 一、将项目打成jar包,拷贝到服务器上,测试一下 二、看到 Spring Boot 的启动日志后表明环境配置没有问题,编辑Dockerfile文件: 三、接下来我们使用 Dockerfile 构建镜像: 四、运行镜像: 五、浏览器输入外网网址访问一下:

创建一个简单的springboot项目

一、在 pom.xml 中 ,使用 Spring Boot 2.2.10 相关依赖

?
1
2
3
4
5
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.10.RELEASE</version>
</parent>

二、添加 web 和测试依赖

?
1
2
3
4
5
6
7
8
9
10
11
<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

?
1
2
3
4
5
6
7
8
@RestController
public class DockerController {
@RequestMapping(“/hello”)
public String hello() {
return “hello,nihao”;
}
}

四、启动类

?
1
2
3
4
5
6
7
@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包,拷贝到服务器上,测试一下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[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文件:

?
1
2
3
4
5
6
7
8
FROM java:8
COPY *.jar /app.jar
CMD [“–server.port=8080”]
EXPOSE 8080
ENTRYPOINT [“java”,”-jar”,”/app.jar”]

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
## 构建镜像
[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

四、运行镜像:

?
1
2
3
4
5
6
7
8
# 运行镜像
[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内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://juejin.cn/post/6941155134026022920

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Docker link实现容器互联的方式

2023-3-12 12:09:59

建站知识

小知识:Docker匿名挂载和具名挂载的具体使用

2023-3-12 12:24:45

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索