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 项目已经正常运行,想要外部访问接口的说,在华为云安全组需要开发对应的端口

相关推荐
杨浦老苏6 小时前
开源多用户图书追踪系统LibrisLog
docker·群晖·收藏管理
赵渝强老师8 小时前
【赵渝强老师】Kubernetes(K8s)中的金丝雀升级
linux·docker·云原生·容器·kubernetes
sinat_255487819 小时前
第七部分。介绍MVC(模型-视图-控制器)模式
java·ide·http·tomcat·intellij-idea
我叫张小白。9 小时前
CentOS 7 安装 Docker并配置镜像加速(完整指南)
linux·docker·centos
原来是猿11 小时前
Docker 【 技术架构(1)】
docker·容器·架构
木雷坞11 小时前
Qdrant Docker 部署教程:数据卷、API Key 和集合初始化
运维·docker·容器·知识图谱
梦梦代码精12 小时前
为什么这个开源的AI平台会火?有点东西。。。
人工智能·算法·机器学习·docker·开源
Lv_沐曦12 小时前
银河麒麟桌面版安装、多屏配置、触摸校准
运维·docker·samba·vsftpd·银河麒麟·触控校准·多屏配置
就叫_这个吧13 小时前
IDEA中Javaweb项目创建+servlet,实现简单的信息录入获取
java·servlet·intellij-idea·web
我最爱吃鱼香茄子13 小时前
终极方案:JetBrains IDE永久解放C盘空间
计算机视觉·性能优化·电脑·笔记本电脑·intellij-idea·程序员创富·webstorm