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 小时前
K8S 资源菜单
docker·容器·kubernetes·k8s
传奇开心果编程2 小时前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
wdfk_prog2 小时前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
滕州市燕猫虎计算机科技工作室个体工商户2 小时前
IDEA:Command line is too long
java·ide·intellij-idea
zoutao983 小时前
Gitea Actions 自定义 Runner 镜像与自动化部署实战
ci/cd·docker·gitea
golang学习记4 小时前
不用再装RestfulKit!IDEA原生快捷键一键检索后端接口
intellij-idea
烽学长5 小时前
(附源码)基于Springboot+vue的图书阅读分享系统的设计与实现
java·spring boot·后端
小马同学-5 小时前
nerdctl实战:Docker风格的Containerd操作利器
docker·容器·containerd
九皇叔叔6 小时前
Kubernetes 命令式对象配置详解:使用 YAML 管理 Kubernetes 资源
docker·容器·k8s
+VX:Fegn08956 小时前
计算机毕业设计|基于java+ vue共享单车信息系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计