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.使用浏览器访问

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

相关推荐
q***71014 小时前
Spring Boot(快速上手)
java·spring boot·后端
n***84074 小时前
十七:Spring Boot依赖 (2)-- spring-boot-starter-web 依赖详解
前端·spring boot·后端
P***84395 小时前
idea、mybatis报错Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
tomcat·intellij-idea·mybatis
爱学习的小可爱卢7 小时前
JavaEE进阶——SpringMVC响应处理详解
spring boot·postman·javaee
7***68438 小时前
Spring Boot 从 2.7.x 升级到 3.3注意事项
数据库·hive·spring boot
L***d6708 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
凌波粒8 小时前
Springboot基础教程(3)--自动装配原理/静态资源处理/欢迎页
java·spring boot·后端
java_logo8 小时前
MySQL Server Docker 容器化部署指南
linux·运维·数据库·docker·容器
凌波粒8 小时前
SpringBoot基础教程(2)--yaml/配置文件注入/数据校验/多环境配置
java·spring boot·后端·spring