- 在idea设置docker连接的tcp:
- 打包部署:
依赖:
(1) 这个是Spring Boot 项目的父项目依赖,使用 spring-boot-starter-parent 可以简化项目的设置和管理,尤其对于新手来说更容易上手;
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>(2)这个依赖是@SpringBootApplication启动类的注解的依赖也是控制器注解的依赖(目的是为了部署后可以启动可以访问控制层的方法)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> -
这个是部署的插件plugin
-
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.6</version>
</plugin>
</plugins>
</build> - 准备一个新建的项目 有一个启动类,一个控制器类,一个application.yml文件(配置端口号)
- 新建docker 部署的file模版:
-
FROM openjdk:8-jdk
LABEL authors="15140"
COPY **.jar /app/**.jar
WORKDIR /app
CMD ["sh", "-c" ,"java -jar **.jar"] - 打包package之后会生成两个jar,一个主jar,一个源jar,把主jar放入dockerfile文件,如图:
- 启动dockerfile:
- 访问测试接口:
-
可能会出现以下问题(无法访问此页面 显示请尝试,检查连接,检查代理防火墙):
-
-
解决:
首先进行排查:
换一个浏览器访问-如果依旧无法访问可以进行虚拟机桌面,打开它自带的火狐浏览器(在虚拟机桌面左上角的应用程序里面)
如果可以在虚拟机自带火狐浏览器访问到接口的访问值,则说明代码没有问题
这个时候就可以考虑是防火墙的问题(因为虚拟机防火墙开启了因此阻挡了访问虚拟机ip的操作)
办法就是:
- 查看虚拟机防火墙状态:systemctl status firewalld.service
-
我们可以看到防火墙的状态是开的
- 关闭防火墙:systemctl stop firewalld.service
-
再看防火墙状态是inactive说明关闭了
这个时候就可以重新在浏览器访问到了
-
-
这样,一个简单的测试就成功了!
Idea的docker部署简单测试:
于 2024-06-05 16:41:21 首次发布