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相关的核心配置

xml 复制代码
<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文件编写

java 复制代码
#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一键远程部署发布项目



2.9 项目已经正常运行,想要外部访问接口的说,在华为云安全组需要开发对应的端口

相关推荐
_院长大人_4 小时前
Docker Mysql 数据迁移
mysql·adb·docker
Xx33028 小时前
idea连接gitee(使用idea远程兼容gitee)
java·gitee·intellij-idea
drebander8 小时前
Docker 与 Kubernetes(K8s)初探
docker
ccmjga12 小时前
升级 SpringBoot3 全项目讲解 — Spring Boot 3 中如何发Http请求?
java·spring boot·后端·docker·gradle·springboot·spring security
自在如风。13 小时前
IntelliJ IDEA 插件推荐篇 - 2025年
java·ide·intellij-idea
丁总学Java13 小时前
在IDEA的Maven中(同步所有Maven项目)和(重新加载所有Maven项目)的区别
java·maven·intellij-idea
曹天骄17 小时前
Docker Compose Installation on CentOS 7.9
docker·eureka·centos
wgslucky18 小时前
docker 安装jenkins
docker·容器·jenkins
Karoku06618 小时前
【CI/CD】持续集成及 Jenkins
运维·ci/cd·docker·云原生·容器·kubernetes·jenkins