您现在的位置是:首页 >技术杂谈 >SpringBoot项目部署网站首页技术杂谈

SpringBoot项目部署

码农小白123 2024-06-19 13:56:23
简介SpringBoot项目部署

1.在pom.xml中引入打包插件

<!--打包插件-->
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.6.12</version>
            <configuration>
                <fork>true</fork>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

2.执行打包命令

# 先把以前的东西清理掉再打包
mvn clean package

在这里插入图片描述

在这里插入图片描述

3.编写生产环境的application-prod.yml配置文件

在这里插入图片描述

4.重新打包编译

mvn clean package

5.编写Dockerfile文件打包成镜像

# 指定基础镜像
FROM openjdk:8
# 将打成的jar包复制到镜像中
ADD car-main/target/car-main-1.0-SNAPSHOT.jar app.jar
# 指定镜像启动后运行的命令
ENTRYPOINT java -jar /app.jar --spring.profiles.active=prod

6.使用idea远程连接CentOS7中的Docker

需要关闭CentOS7中的防火墙
在这里插入图片描述

7.使用idea执行Dockerfile文件生成镜像

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可能遇到的问题

问题1:
Failed to deploy ‘rent-car Dockerfile: Dockerfile’: driver failed programming external connectivity on endpoint rent-car (cb4a1ef725a9675590c6b440733a30d131698cba365fd4aa206b545ca8388db3): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.17.0.9:8080 ! -i docker0: iptables: No chain/target/match by that name. (exit status 1))
解决方案:重启Docker
systemctl restart docker
参考

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。