IDEA通过Docker插件部署SpringBoot项目

1、配置Docker远程连接端口

找到并编辑服务器上的docker.service文件。

bash 复制代码
vim /usr/lib/systemd/system/docker.service

在下面ExecStart替换成下面的

bash 复制代码
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

2.重启docker

bash 复制代码
systemctl daemon-reload
service docker restart

3.服务器开放端口

4.测试远程连接是否正常

bash 复制代码
curl http://localhost:2375/version

有以下信息输出说明配置成功

5.使用IDEA插件连接到阿里云服务器的Docker容器

连接成功就可以在idea里面使用docker了

6.在springboot项目中引入docker

1、pom.xml中添加Docker插件坐标

这是为了在本项目中引入docker来管理,毕竟最后要使用docker把项目打包成一个镜像。

注意三个事情:

1.版本务必写成0.4.13

其他版本会报错,原因未知,如下图:

2.注意修改成你的服务器IP地址
3.Dockerfile的位置别乱写

位置写在哪儿,就把Dockerfile创建在哪里。

一般就在:

xml 复制代码
  <dockerDirectory>src/main/docker</dockerDirectory>

pom文件需要引入的坐标

xml 复制代码
      <!-- docker插件-->
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>0.4.13</version>
        <dependencies>
          <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1</version>
          </dependency>
        </dependencies>

        <configuration>
          <!-- 远程Docker的地址 -->
          <dockerHost>http://你的服务器ip地址:2375</dockerHost>
          <!-- 镜像名称、前缀、项目名 -->
          <imageName>hcl/${project.artifactId}</imageName>
          <!-- Dockerfile的位置 -->
          <dockerDirectory>src/main/docker</dockerDirectory>
          <resources>
            <resource>
              <targetPath>/</targetPath>
              <!-- 表示的target文件夹 -->
              <directory>${project.build.directory}</directory>
              <!-- 表示打出来的JAR包-->
              <include>${project.build.finalName}.jar</include>
            </resource>
          </resources>
        </configuration>
      </plugin>

2.刷新maven,查看docker插件

7、使用Docker打包SpringBoot项目

前提 :像上一步项目中引入Docker坐标。
目的 :就是将SpringBoot项目打包为一个Docker镜像,以便后续将镜像扔在服务器上,构建容器,最后将项目跑起来(也就是把容器跑起来)。

核心操作:

1.创建Dockerfile文件(在正确的位置)

bash 复制代码
 Dockerfile文件的位置一定要和pom.xml中docker插件的配置一致。否则找不到!

2.编写Dockerfile文件

bash 复制代码
FROM openjdk:8-jre
# java版本,最好使用openjdk,而不是类似于Java:1.8 这种。
# 原因我也不知。
COPY *.jar /app.jar
# 执行创建app.jar
EXPOSE 9999
# 向外暴露的接口,最好与项目yml文件中的端口一致
ENTRYPOINT ["java","-jar","app.jar"]
# 执行启动命令java -jar

注意点

Java版本: 使用openjdk!!!

使用 java:8 等时会报错,原因未知。
报错信息:

bash 复制代码
manifest for java:8 not found : manifest unkown: manifest unknown

3.将项目打包为JAR包

4.点击Build构建镜像

5.查看生成镜像

8.使用docker运行springBoot项目

1.选中镜像创建容器

2.配置运行参数

配置玩参数点击运行

3.使用浏览器访问

注意:记得开启项目的端口号

相关推荐
创码小奇客1 小时前
架构师私藏:SpringBoot 集成 Hera,让日志查看从 “找罪证” 变 “查答案”
spring boot·spring cloud·trae
Olrookie2 小时前
XXL-JOB GLUE模式动态数据源实践:Spring AOP + MyBatis 解耦多库查询
java·数据库·spring boot
waynaqua2 小时前
SpringBoot:听说你还不知道时区设置
spring boot
又是努力搬砖的一年2 小时前
SpringBoot中,接口加解密
java·spring boot·后端
:-)2 小时前
idea配置maven国内镜像
java·ide·maven·intellij-idea
风象南3 小时前
SpringBoot 自研运行时 SQL 调用树,3 分钟定位慢 SQL!
spring boot·后端
Q_Q5110082856 小时前
python的软件工程与项目管理课程组学习系统
spring boot·python·django·flask·node.js·php·软件工程
2301_793086877 小时前
SpringCloud 02 服务治理 Nacos
java·spring boot·spring cloud
MacroZheng8 小时前
还在用WebSocket实现即时通讯?试试MQTT吧,真香!
java·spring boot·后端
midsummer_woo9 小时前
基于springboot的IT技术交流和分享平台的设计与实现(源码+论文)
java·spring boot·后端