En el proceso de desarrollo diario, el proyecto se empaquetará y se ejecutará en el servidor. En este artículo, se presenta el método de uso de la ventana acoplable para enviar el paquete jar local al servidor privado de la ventana acoplable y ejecutarlo en el servidor remoto.
paso
- Cree un nuevo proyecto maven, la estructura del directorio es la siguiente:
- Introduzca el complemento de compilación y empaquetado de maven y el complemento de empaquetado de docker en el archivo pom
2.1.
El profile.name debajo del perfil en el archivo pom de la configuración de múltiples entornos debe ser consistente con ** {env} ** en la aplicación- {env}
2.2. Compilación de Maven Empaqueta el complemento
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${
maven-compiler-plugin.version}</version>
<configuration>
<compilerArguments>
<bootclasspath>${
env.JAVA_HOME}\jre\lib\rt.jar;${
env.JAVA_HOME}\jre\lib\jce.jar</bootclasspath>
</compilerArguments>
<source>${
java.version}</source>
<target>${
java.version}</target>
<encoding>${
maven.compiler.encoding}</encoding>
<verbose/>
</configuration>
</plugin>
<plugin>
<!--打包跳过测试-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${
maven-surefire-plugin.version}</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${
spring-boot.version}</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>${
maven-resources-plugin.version}</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>woff</nonFilteredFileExtension>
<nonFilteredFileExtension>eot</nonFilteredFileExtension>
<nonFilteredFileExtension>ttf</nonFilteredFileExtension>
<nonFilteredFileExtension>svg</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
2.3 configuración del complemento del paquete docker
<!-- docker打包插件 -->
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.33.0</version>
<configuration>
<verbose>true</verbose>
<!-- docker远程管理url -->
<dockerHost>tcp://ip:2375</dockerHost>
<registry>registry.cn-hangzhou.aliyuncs.com</registry>
<authConfig>
<!-- docker私服账户密码 -->
<push>
<username>zfl_aliases@163.com</username>
<password>123456</password>
</push>
</authConfig>
<buildArgs>
<JAR_FILE>${
project.build.finalName}.jar</JAR_FILE>
</buildArgs>
<images>
<image>
<!-- 镜像名称 命名空间/仓库名称:镜像版本号 -->
<name>${
docker.image.prefix}/${
project.artifactId}:${
project.version}</name>
<build>
<dockerFile>${
project.basedir}/src/main/docker/Dockerfile</dockerFile>
<assembly>
<name>/</name>
<!-- artifact是预定义的值,表示将项目打包后的jar拷贝到编译上下文中,便于Dockerfile ADD指令 -->
<descriptorRef>artifact</descriptorRef>
</assembly>
</build>
<run>
<!-- 运行时容器名称 -->
<containerNamePattern>${
project.artifactId}</containerNamePattern>
<extraHosts>
<extraHost>服务器ip</extraHost>
</extraHosts>
</run>
</image>
</images>
</configuration>
</plugin>
- Escribir Dockerfile
// FROM 可根据实际情况来编写 openjdk:8
FROM registry.cn-hangzhou.aliyuncs.com/lee/jdk8-lee:1.0.0
MAINTAINER zhangfalu zfl_aliases@163.com 2021-01-25
ARG JAR_FILE
COPY ${
JAR_FILE} app.jar
EXPOSE 8063
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Duser.timezone=GMT+08", "-jar", "/app.jar"]
-
Comando de empaquetado : mvn clean package -Dmaven.skip.tests = true -P online
Ver la información del archivo empaquetado en clases
-
Prueba local
-
Coloque el paquete jar local como un espejo y empújelo al servidor privado remoto, y ejecute el contenedor docker
Command: mvn docker: stop docker: remove docker: build docker: push docker: start
-
Ver servidor privado
-
Ver el estado de ejecución del contenedor
Use idea para integrar Docker para administrar localmente la generación, eliminación, inicio y detención de contenedores, y evitar el uso de comandos. También puede ver mejor la información del registro de ejecución del contenedor.
- Haga clic en Archivo-Configuración
- Después de completar, haga clic en aplicar, habrá una ventana adicional de Docker debajo de la herramienta de desarrollo
- Haga clic en Abrir para conectarse para
abrir los contenedores, ver el contenedor especificado, puede ver fácilmente el registro del contenedor
Nota: dirección del proyecto