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

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

相关推荐
大米☋23 分钟前
Docker-高级使用
linux·运维·docker·容器·centos
Minyy111 小时前
SpringBoot程序的创建以及特点,配置文件,LogBack记录日志,配置过滤器、拦截器、全局异常
xml·java·spring boot·后端·spring·mybatis·logback
武昌库里写JAVA2 小时前
39.剖析无处不在的数据结构
java·vue.js·spring boot·课程设计·宠物管理
Anarkh_Lee7 小时前
Neo4j在win下安装教程(docker环境)
docker·容器·neo4j
聂 可 以8 小时前
调整IntelliJ IDEA当前文件所在目录(包路径)的显示位置
java·ide·intellij-idea
正经教主8 小时前
【问题】解决docker的方式安装n8n,找不到docker.n8n.io/n8nio/n8n:latest镜像的问题
运维·docker·容器·n8n
李白的粉8 小时前
基于springboot的在线教育系统
java·spring boot·毕业设计·课程设计·在线教育系统·源代码
小马爱打代码9 小时前
SpringBoot原生实现分布式MapReduce计算
spring boot·分布式·mapreduce
iuyou️9 小时前
Spring Boot知识点详解
java·spring boot·后端
一弓虽9 小时前
SpringBoot 学习
java·spring boot·后端·学习