Idea+docker通过dockerFile方式往华为云发布项目
一:前置说明
1.1 演示环境
- JDK8
- IDEA 2022.2.1
- 华为云 CentOS 8.2 64bit
- Docker 26.1.3
注:华为云上已经安装了docker,能够这次拉取镜像等
二:Idea内的相关配置
2.1 docker插件安装
idea->File->settings 进入setting操作也安装docker插件。
安装插件方便相关的服务器配置及后面的dockerFile文件的编写。
2.2 idea内服务器SSH相关配置
idea->File->settings ->Tools 找到SSH 配置目录,新增对应的服务器信息。
Host:服务器公网ip
Port:默认的端口 22
Username 用户
Password 密码
SSH配置测试:
2.3 Idea内Docker进程配置
docker进程和SSH配置的服务器关联上,才能在后续操作服务器上的docker。
2.4 基础的SpringBoot项目搭建 后编写DockerFile文件
在要部署的springboot项目下创建DockerFile文件
示例中Springboot项目Pom docker相关的核心配置
<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 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>dolphin-jinyi</artifactId>
<groupId>com.dolphin.jinyi</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>dolphin-jinyi-gateway</artifactId>
<packaging>jar</packaging>
<name>dolphin-jinyi-gateway</name>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.boot.version>2.6.11</spring.boot.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<configuration>
<includeSystemScope>true</includeSystemScope>
//指定项目的启动类
<mainClass>com.dolphin.jinyi.gateway.DolphinJinyiGatewayApplication</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
</resource>
</resources>
</build>
</project>
2.5 DockerFile文件编写
#jar包基于jdk,war包基于tomcat
FROM openjdk:8-jdk
# 作者
MAINTAINER hc
#将上下文中名字为dolphin-jinyi-gateway-1.0-SNAPSHOT.jar复制到工作目录,同时修改其名称为dolphin-jinyi-gateway.jar
ADD target/dolphin-jinyi-gateway-1.0-SNAPSHOT.jar /docker-app/dolphin-jinyi-gateway.jar
CMD ["--server.port=8010"]
#暴露当前容器内部暴露的端口 (同项目里的运行端口)
EXPOSE 8010
#启动命令
ENTRYPOINT ["java","-jar","/docker-app/dolphin-jinyi-gateway.jar"]
2.6 项目部署操作
maven 栏将部署的项目package,得到2.5中的target/dolphin-jinyi-gateway-1.0-SNAPSHOT.jar
2.7 idea端配置远程Docker
2.8 Idea 通过dockerFile一键远程部署发布项目