使用docker部署springboot项目小白教程

简介: 使用docker部署springboot项目小白教程
一,创建springboot项目

大家随意创建一个 springboot 项目就行了,这里给大家展示一个半成品,稍后可以去gitee上下载源码。自己创建的话勾选 web 这个依赖即可。然后在本地测试一下自己写的接口,如果没问题,就可以发布了

二,在对自己的项目进行打包

1,找到右下角的Maven Projects,进行如下步骤


2,说说这里面打包项目的坑,可能会遇到如下错误

Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0...

解决方案:

修改maven-resources-plugin的版本,如下。在进行以上步骤,代码就能进行打包了

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
            <!--在这里修改版本-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4.3</version>
            </plugin>
        </plugins>
    </build>

3,最后控制台出现如下,则打包完成

,4,也可以在这个target目录下发现jar包已经存在了

三,测试jar包

1,通过如下找到jar包的位置

2,打开后,文件夹中cmd打开命令行提示符

3,输入java -jar jar包名称,可以发现本地也能跑,说明jar包没问题,那就放心的放到服务器上了

四,idea安装及使用dcoker

1,找到设置,下载dcoker插件即可

2,安装成功的话,新建Dockerfile文件,可以发现出现高亮

3,编写Dockerfile文件

#版本为java8
FROM java:8
#将所有jar包复制
COPY *.jar /app.jar
#服务端口号
CMD ["--server.port=8080"]
#向外面暴露的端口
EXPOSE 8080
#容器启动的时候运行的命令
ENTRYPOINT ["java","-jar","/app.jar"]

4,使用xftp将Dockerfile文件 和生成 jar 的包传输到linux下,我这边用的是阿里云服务器

5,在服务器下的 /home 目路下新建一个 /idea 目录,将传输的文件移动到该目录下即可

2021012216560721.png

6,创建一个容器,最后面是有一个点的

docker build -t zhenghuisheng .

7,在构建成功之后,可以发现这个 Dockerfile 的文件也执行了

8,查看构建的镜像,已经在里面了

docker images

五,部署项目

1,运行构建的镜像

docker run -d -p 8080:8080 --name springboot_web zhenghuisheng

解释一下

-d :以后台方式交互运行
-p :暴露端口号第一个8080是暴露linux 的端口号,这样外部才能连接linux
       第二个端口号暴露的是容器的端口号,这样linux才能连接容器
       这样外部就能通过服务器访问容器了
--name : 给容器命名,可以通过docker ps下查询,名字随意
zhenghuisheng : 上面构建镜像的名称

2,查看当前容器是否在运行,

docker ps

可以发现已经在运行了

3,测试能否连通,上一步可以发现一个ports 端口号,于是curl测试一下

4,curl 测试

curl 0.0.0.0:8080

出现一下界面,测试成功

5,浏览器访问一下,输入服务器外网ip + linux暴露的端口号8080

6,如果没有出现以上界面,那么就有以下可能

没有关闭防火墙,没有在阿里云服务器开放端口

具体详情可以参照另一篇博客:https://blog.csdn.net/zhenghuishengq/article/details/112868488

里面有许多踩坑以及脱坑的事例

7,可以发现已经到了我项目的登录界面了。本来想发这个项目到gitee的,想想还是算了

六,总结

由于我这个是在web上进行了部署,很多人肯定是想问为什么不需要部署 tomcat 环境的,当时我也有过此疑问,为什么不需要呢?后来才想明白,我们用的是springboot项目,里面自带了 tomcat 。

因此到这里,我们的项目就算是部署成功了,欢迎留言!

相关文章
|
3天前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
41 25
|
15天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
6天前
|
Java 测试技术 应用服务中间件
Spring Boot 如何测试打包部署
本文介绍了 Spring Boot 项目的开发、调试、打包及投产上线的全流程。主要内容包括: 1. **单元测试**:通过添加 `spring-boot-starter-test` 包,使用 `@RunWith(SpringRunner.class)` 和 `@SpringBootTest` 注解进行测试类开发。 2. **集成测试**:支持热部署,通过添加 `spring-boot-devtools` 实现代码修改后自动重启。 3. **投产上线**:提供两种部署方案,一是打包成 jar 包直接运行,二是打包成 war 包部署到 Tomcat 服务器。
28 10
|
4天前
|
SQL 关系型数据库 MySQL
docker-compose部署mysql8
使用docker-compose容器化部署mysql8
|
6天前
|
Java 应用服务中间件
SpringBoot工程打包部署
SpringBoot工程打包部署简介:SpringBoot项目可通过三种方式运行:可执行Jar包、可执行War包和标准War包。其中,可执行Jar/War包可独立运行,标准War包需部署在Tomcat中。具体步骤包括:1. 修改pom.xml添加构建依赖;2. 执行`mvn clean package`命令打包;3. 运行生成的Jar/War包(如`java -jar xxx.jar`)。对于标准War包,还需修改启动类并配置Tomcat依赖。
|
27天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
50 3
实战~如何组织一个多容器项目docker-compose
|
1月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
39 6
|
1月前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
41 2
|
Web App开发 Java Linux
Docker简明教程
本文讲的是Docker简明教程,【编者的话】使用Docker来写代码更高效并能有效提升自己的技能。Docker能打包你的开发环境,消除包的依赖冲突,并通过集装箱式的应用来减少开发时间和学习时间。
2697 0
|
Ubuntu 应用服务中间件 nginx