| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> docker部署springboot项目(详细教程) -> 正文阅读 |
|
[Java知识库]docker部署springboot项目(详细教程) |
或者 wget -qO- https://get.docker.com/ | sh []( )拉取java环境 ======================================================================= 拉取jdk很简单,直接执行一行代码即可,我这里拉取的时java 8的版本。 docker pull java:8 拉取完成之后执行: docker images 如果出现下面内容,表示拉取成功 []( )创建springboot项目 ============================================================================= 1.新建项目 引入sprint-boot-web的依赖 新建完成之后的项目结构 2.引入docker依赖 <docker.image.prefix>registry.aliyuncs.com/linhuatest</docker.image.prefix> com.spotify docker-maven-plugin 1.0.0 d o c k e r . i m a g e . p r e f i x / {docker.image.prefix}/ docker.image.prefix/{project.artifactId} src/main/docker / ${project.build.directory} ${project.build.finalName}.jar 3.新建docker文件 在main目录下新建docker目录,然后在docker目录下创建dockerfile文件,不需要后缀名。 创建完成之后的工程目录如下: 4.编辑dockerfile文件 FROM java:8 VOLUME /tmp/tomcat ADD spring-boot-docker-0.0.1-SNAPSHOT.jar springboot-docker.jar ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/springboot-docker.jar"]
5.创建测试接口 ![在这里插入图片描述](https://img-blog.csd
nimg.cn/2020032615123737.png) TestController内容如下: package com.ymy.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController @Slf4j public class TestController { @RequestMapping(value = “/test”,method = RequestMethod.GET) public String test(){ System.out.println(“这是控制台日志!”); log.info(“这是输出到文件的日志”); return “HELLO-BUG!!!!!!!!!!”; } } 在resources目录下创建log4j2.xml文件 主要看这两个参数: 这里我使用了log4j2的日志,如何配置log4j2的日志,请参考 [springboot整合Log4j2(将日志输出到指定文件)]( )。 6.编写application.yml配置文件 server: port: 9999 到这里springboot项目就创建完成了,我们现在启动一下项目。 . ____ _ __ _ _ /\ / _’ __ _ () __ __ _ \ \ \ \ ( ( )___ | '_ | '| | ’ / _` | \ \ \ \ \/ _)| |)| | | | | || (| | ) ) ) ) ’ || .__|| ||| |__, | / / / / =|_|======|/=//// :: Spring Boot :: (v2.2.5.RELEASE) 15:29:19.386 [main] INFO com.ymy.SpringBootDockerApplication - Starting SpringBootDockerApplication on LAPTOP-3GLHJRE9 with PID 20652 (D:\springboot\spring-boot-docker\target\classes started by admin in D:\springboot) 15:29:19.395 [main] INFO com.ymy.SpringBootDockerApplication - No active profile set, falling back to default profiles: default 15:29:20.183 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 9999 (http) 15:29:20.200 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler [“http-nio-9999”] 15:29:20.201 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 15:29:20.201 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.31] 15:29:20.309 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 15:29:20.309 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 881 ms 15:29:20.452 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService ‘applicationTaskExecutor’ 15:29:20.568 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler [“http-nio-9999”] 15:29:20.596 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 9999 (http) with context path ‘’ 15:29:20.599 [main] INFO com.ymy.SpringBootDockerApplication - Started SpringBootDockerApplication in 1.664 seconds (JVM running for 4.04) 如果看到这个页面表示springboot项目没有问题,现在我们将项目拷贝到服务器中。 []( )打包springboot到docker ================================================================================== 我现在已经将项目拷贝到服务器中,我们现在需要将它打包到docker中,借助maven实现打包,如果还没有安装maven的,请先安装maven,切换到项目的根目录 执行 mvn clean package docker:build 执行完之后将会看到 表示打包成功。 执行 docker images 我们发现docker的镜像中多了一个springboot/spring-boot-docker,没错,这个就是我们的springboot项目,既然镜像已经生成,那么如何使用这个镜像呢? 执行 docker run --name springbooot-docker -p 9999:9999 -d 4a2
启动了镜像之后我怎么直到有没有成功呢?这个时候我们就需要一个命令来查看已经启动的任务 docker ps 我们发现这里已经出现了我们之前启动的镜像,所以这基本上代表启动成功了,为了验证是否启动成功,我们在浏览器输入测试的接口:ip:9999/test []( )docker查看容器的日志 ============================================================================ 这说明我们已经springboot项目已经启动成功了,到这里docker部署springboot项目差不就结束了,但是你可能还有一个疑问,如果我想看控制台的日志怎么办呢?像我们一般使用java -jar的时候都会生成一个控制台的日志文件,那docker容器中怎么查看控制台日志呢?其实很简单,只需要一行命令即可 docker ps 找到容器的id 然后执行 docker logs -f --tail=100 ca 这个时候我们就能看到控制台的日志了,如何我们想看log4j2输出的文件日志呢? []( )查看log4j2输出问文件日志 ============================================================================== 还记得我们在log4j2中配置了日志的输出目录了吗? 没错,就是这个, 我们切换到这个目下 发现这里生成了三个文件,我们打开info.log |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:29:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |