设为首页收藏本站

安徽论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 10116|回复: 0

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

[复制链接]

77

主题

486

回帖

978

积分

高级会员

Rank: 4

积分
978
发表于 2022-3-26 11:02:45 | 显示全部楼层 |阅读模式
网站内容均来自网络,本站只提供信息平台,如有侵权请联系删除,谢谢!
目录


创建一个简单的springboot项目



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

  1. <parent>
  2.     <groupId>org.springframework.boot</groupId>
  3.     <artifactId>spring-boot-starter-parent</artifactId>
  4.     <version>2.2.10.RELEASE</version>
  5. </parent>
复制代码
二、添加 web 和测试依赖

  1. <dependencies>
  2.      <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5.     </dependency>
  6. <dependency>
  7.   <groupId>org.springframework.boot</groupId>
  8.   <artifactId>spring-boot-starter-test</artifactId>
  9.   <scope>test</scope>
  10. </dependency>
  11. </dependencies>
复制代码
三、创建一个 DockerController,在其中有一个hello()方法,访问时返回:hello,nihao

  1. @RestController
  2. public class DockerController {

  3.     @RequestMapping("/hello")
  4.     public String hello() {
  5.         return "hello,nihao";
  6.     }
  7. }
复制代码
四、启动类

  1. @SpringBootApplication
  2. public class DockerApplication {

  3. public static void main(String[] args) {
  4.   SpringApplication.run(DockerApplication.class, args);
  5. }
  6. }
复制代码
添加完毕后启动项目,启动成功后浏览器访问:http://localhost:8080/hello,页面返回:hello,nihao,说明 Spring Boot 项目配置正常。


使用 Docker 部署 Spring Boot 项目



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

  1. [root@jiangwang springbootDemo]# ls
  2. demo-0.0.1-SNAPSHOT.jar  Dockerfile
  3. [root@jiangwang springbootDemo]# java -jar demo-0.0.1-SNAPSHOT.jar

  4.   .   ____          _            __ _ _
  5. /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
  6. ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
  7. \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  8.   '  |____| .__|_| |_|_| |_\__, | / / / /
  9. =========|_|==============|___/=/_/_/_/
  10. :: Spring Boot ::       (v2.2.10.RELEASE)

  11. 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)
  12. 2021-03-18 14:49:18.244  INFO 12886 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default
  13. 2021-03-18 14:49:19.924  INFO 12886 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
  14. 2021-03-18 14:49:19.938  INFO 12886 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
  15. 2021-03-18 14:49:19.938  INFO 12886 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.38]
  16. 2021-03-18 14:49:20.013  INFO 12886 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
  17. 2021-03-18 14:49:20.014  INFO 12886 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1657 ms
  18. 2021-03-18 14:49:20.321  INFO 12886 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
  19. 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 ''
  20. 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. FROM java:8
  2. COPY *.jar /app.jar

  3. CMD ["--server.port=8080"]

  4. EXPOSE 8080

  5. ENTRYPOINT ["java","-jar","/app.jar"]
复制代码
三、接下来我们使用 Dockerfile 构建镜像:

  1. ## 构建镜像
  2. [root@jiangwang springbootDemo]# docker build -t springboot-demo .
  3. Sending build context to Docker daemon  17.72MB
  4. Step 1/5 : FROM java:8
  5. ---> d23bdf5b1b1b
  6. Step 2/5 : COPY *.jar /app.jar
  7. ---> f4d6aeabd3f0
  8. Step 3/5 : CMD ["--server.port=8080"]
  9. ---> Running in a6311f7cf7b5
  10. Removing intermediate container a6311f7cf7b5
  11. ---> d8117b10cefa
  12. Step 4/5 : EXPOSE 8080
  13. ---> Running in ae180be637bb
  14. Removing intermediate container ae180be637bb
  15. ---> f16702c75ab6
  16. Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"]
  17. ---> Running in fafa00625666
  18. Removing intermediate container fafa00625666
  19. ---> d4c3e225699d
  20. Successfully built d4c3e225699d
  21. Successfully tagged springboot-demo:latest
复制代码
四、运行镜像:

  1. # 运行镜像
  2. [root@jiangwang springbootDemo]# docker run -d -p 39005:8080 --name my-springboot springboot-demo
  3. 7ac35852cb91cb10612cd28fdbe7c50c7c59df4cccf19b2f1d30dcabbfe501f4
  4. [root@jiangwang springbootDemo]# docker ps
  5. CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS                     NAMES
  6. 7ac35852cb91   springboot-demo       "java -jar /app.jar …"   33 seconds ago   Up 32 seconds   0.0.0.0:39005->8080/tcp   my-springboot
  7. [root@jiangwang springbootDemo]# curl localhost:39005/hello
  8. hello,nihao[root@jiangwang springbootDemo]#
复制代码
五、浏览器输入外网网址访问一下:

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

说明使用 Docker 部署 Spring Boot 项目成功!
到此这篇关于使用Docker部署Spring Boot项目的实现步骤的文章就介绍到这了,更多相关Docker部署Spring Boot内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
                                                        
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
免责声明
1. 本论坛所提供的信息均来自网络,本网站只提供平台服务,所有账号发表的言论与本网站无关。
2. 其他单位或个人在使用、转载或引用本文时,必须事先获得该帖子作者和本人的同意。
3. 本帖部分内容转载自其他媒体,但并不代表本人赞同其观点和对其真实性负责。
4. 如有侵权,请立即联系,本网站将及时删除相关内容。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表