Idea+docker通过dockerFile方式往华为云发布项目

embedded/2025/1/16 7:20:22/

一:前置说明

1.1 演示环境

  • JDK8
  • IDEA 2022.2.1
  • 华为云 CentOS 8.2 64bit
  • Docker 26.1.3
    注:华为云上已经安装了docker,能够这次拉取镜像等

二:Idea内的相关配置

docker_11">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

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

dockerFile_118">2.8 Idea 通过dockerFile一键远程部署发布项目

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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


http://www.ppmy.cn/embedded/154335.html

相关文章

《AI模型格局演变:Claude、Gemini Flash与OpenAI的技术角力》

Anthropic的Claude模型在通用聊天模型中表现优异&#xff0c;但在市场份额上仍落后于OpenAI Anthropic的Claude模型在通用聊天模型中的表现优异&#xff0c;主要体现在以下几个方面&#xff1a; 1. 技术优势 性能表现: Claude模型在处理复杂任务&#xff08;如编程、自然语言…

JavaScript分页的制作

做分页按钮的意义&#xff1a; 如果有很多条数据的话不可能一下就把所有的数据都显示出来&#xff0c;这样用户是没有耐心全部看完的&#xff0c;此刻就需要进行分页&#xff0c;比如五条数据一页&#xff0c;更直观的把数据展现出来。 效果图&#xff1a; HTML部分&#xff1a…

CES Asia 2025科技盛宴,AI智能体成焦点

2025第七届亚洲消费电子技术展&#xff08;CES Asia赛逸展&#xff09;将在北京拉开帷幕&#xff0c;AI智能体有望成为展会的核心亮点。 深圳市人工智能行业协会发文表示全力支持CES Asia 2025&#xff08;赛逸展&#xff09;&#xff0c;称其为人工智能领域的创新发展提供了强…

RabbitMQ-消息消费确认

我们一般使用的是消费者作为被动方接收 RabbitMQ 推送消息&#xff0c;另一种是消费者作为主动方可以主动拉取消息。 RabbitMq 服务器推送消息分为隐式(自动)确认和显示确认。 1 消费者拉取消息 消费者作为主动方拉取消息&#xff0c;每次只能获取一条。 using (var channel c…

深圳观澜森林公园及五指耙森林公园边坡自动化监测

随着旅游业的迅速发展&#xff0c;越来越多的人涌向了各个景点进行旅游观光。然而&#xff0c;一些景区的边坡存在安全隐患&#xff0c;给游客的安全带来了威胁。为了保障广大游客的安全&#xff0c;提升景区的品质和旅游体验&#xff0c;制定一份细致的景点边坡治理项目方案势…

C++实现设计模式---策略模式 (Strategy)

策略模式 (Strategy) 策略模式 是一种行为型设计模式&#xff0c;它定义了一系列算法&#xff0c;并将每种算法封装到独立的类中&#xff0c;使得它们可以相互替换。策略模式让算法的变化不会影响使用算法的客户端。 意图 将算法的定义与使用分离。通过封装和组合的方式&…

matlab使用 BP 神经网络进行数据预测的完整流程,包括数据读取、数据预处理等等

%% 初始化程序 warning off % 关闭报警信息 close all % 关闭所有图窗 clear % 清空变量 clc % 清空命令行 setdemorandstream(172) %设置随机种子为1%% 读取数据 data xlsread(Y.xlsx); %% 划分训练集…

HAL库 SPI+DMA接收 通讯速率高就读取失败

最近在写一个读取ad7691数据的驱动时&#xff0c;SPI2设置为Receive only master模式&#xff0c;此时发现用SPIDMA的HAL库函数HAL_SPI_Receive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size)接收数据时&#xff08;DMA为normal模式&#xff0c;以字节单位传输…