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

相关推荐
生活爱好者!5 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
MC皮蛋侠客6 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
用户233376852189 小时前
Docker 端口"时通时不通"的排查实战
docker
做个文艺程序员9 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
ShiXZ2139 小时前
Redis docker-compose 部署指南
redis·docker·eureka
梦梦代码精11 小时前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范
小的博客11 小时前
windows下安装Docker Desptop
运维·docker·容器
李迟12 小时前
我的docker随笔48:Docker版本号演进史
docker
阿拉雷️13 小时前
部署实战】Docker + AI Agent:让AI一键部署Spring Boot到服务器,从打包到上线只要一条指令
人工智能·spring boot·docker
雨声不在13 小时前
macos 12使用docker
macos·docker·容器