一、springboot项目创建
pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.home</groupId>
<artifactId>octopus</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Octopus</name>
<description>八爪鱼</description>
<properties>
<java.version>1.8</java.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.13</version>
<configuration>
<!--打包名字-->
<repository>${project.artifactId}-0.1</repository>
<!--定义参数,一会编写Dockerfile 会用到-->
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
<JAR_APRPE>src/main/resources/application.properties</JAR_APRPE>
</buildArgs>
<!--标签-->
<tag>0.2</tag>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
</project>
Dockerfile编写:
# 基础镜像
From java:8
# 作者
MAINTAINER xiangcai cai.pei@iwhalecloud.com
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME ["/tmp","/java"]
#开放对外端口
EXPOSE 11000
#定义参数 在pom文件配置的
ARG JAR_FILE
#配置文件路径
ARG JAR_APRPE
COPY ${JAR_FILE} /java/app.jar
COPY ${JAR_APRPE} /java/application.properties
# , "--spring.config.location=/java/application.properties"
CMD ["java", "-jar", "/java/app.jar"]
二、远程主机docker环境搭建
购买一台云主机
![](https://i-blog.csdnimg.cn/blog_migrate/edcf819c385b579420068c86994d2ea4.png)
1、查看是否有docker环境,没有的话安装一个docker
Docker安装Failed to start docker.service: Unit docker.service not found._只会写bug的菜鸟的博客-CSDN博客2、安装一个java8镜像
docker pull java
3、修改docker配置文件暴露2375端口号
vi /usr/lib/systemd/system/docker.service
编辑:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
![](https://i-blog.csdnimg.cn/blog_migrate/0b8cbb32f4a83d0f59ff6e5d90264a68.png)
systemctl daemon-reload
systemctl restart docker.service
关闭防火墙: systemctl stop firewalld.service
三、执行打包指令查看远程仓库
1、配置windows环境变量
![](https://i-blog.csdnimg.cn/blog_migrate/3b88a386ca13ed7ff1ffed850a92e2bf.png)
2、idea 配置docker
![](https://i-blog.csdnimg.cn/blog_migrate/5e20a9bb9692fae889d40de5e7e5fe17.png)
执行 : mvn clean package dockerfile:build -Dmaven.test.skip=true
四、查看远程仓库