如何在 Sealos 上运行你的第一份 Java 代码

首先,确保你已经安装了以下工具:

  • Dokcer
  • Maven

步骤1:编写你的 Java 程序

  • 这里直接通过 Spring Initializr 生成生成一个基本的 Spring Boot 项目。

  • 在这里插入图片描述

  • 打开项目的 pom.xml 文件,在 <dependencies> 部分添加以下内容,以包含MySQL JDBC驱动:

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    
  • 接下来,在 src/main/resources 目录下的 application.properties 文件中添加以下内容,以配置数据库连接:

    spring.datasource.url=jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8
    spring.datasource.username=root
    spring.datasource.password=your_password
    spring.jpa.hibernate.ddl-auto=update
    

步骤2:创建实体类和存储类

在项目中创建一个新的Java类,如 Person.java,用于表示数据库中的实体。添加以下内容:

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;

    // Getters and setters
    // ...
}
  • 然后创建一个存储库接口,如 PersonRepository.java

    import org.springframework.data.jpa.repository.JpaRepository;
    import org.springframework.stereotype.Repository;
    
    @Repository
    public interface PersonRepository extends JpaRepository<Person, Long> {
    }
    

步骤2:创建 Web 控制器

  • 在项目的 src/main/java 目录下,创建一个简单的 Web 控制器。例如,创建一个名为 PersonController.java 的文件,并添加以下内容:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class PersonController {
    @Autowired
    private PersonRepository personRepository;

    @GetMapping("/getPersons")
    public String getAllPersons() {
        List<Person> persons = personRepository.findAll();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < persons.size(); i++) {
            sb.append("id: " + persons.get(i).getId() + " name: " + persons.get(i).getName() + "/n");
        }
        System.out.println(sb.toString());
        return sb.toString();
    }

    @PostMapping(value = "/addPerson")
    public Person addPerson(@RequestBody Person person) {
        return personRepository.save(person);
    }


}

## 步骤3:构建应用程序

  • 使用maven构建项目,运行以下命令

    mvn clean install
    

在这里插入图片描述

步骤4:创建Docker镜像

  • 在 Java 项目的根目录下,创建一个名为 Dockerfile 的文件。这个文件将包含构建 Docker 镜像所需的指令。以下是一个简单的示例 Dockerfile:

    # 使用官方的 OpenJDK 镜像作为基础镜像
    FROM openjdk:8-jre-slim
    
    # 设置工作目录
    WORKDIR /app
    
    # 复制构建好的 JAR 文件到镜像中
    COPY target/demo-0.0.1-SNAPSHOT.jar /app/demo-0.0.1-SNAPSHOT.jar
    
    # 暴露应用程序的端口
    EXPOSE 8080
    
    # 设置启动命令
    CMD ["java", "-jar", demo-0.0.1-SNAPSHOT.jar"]
    
  • 在项目根目录下,运行以下命令构建 Docker 镜像:

docker build -t demo .

步骤5:推送Docker镜像

  • 将创建的Docker镜像推送到Docker仓库,如Docker Hub或者私有仓库。假设您已经登录到Docker仓库,使用以下命令推送镜像

    • 首先标记Docker镜像,在推送镜像之前,需要为其添加一个标签,以便 Docker 知道将其推送到哪个仓库。运行以下命令为镜像添加标签:

      docker tag your-image-name your-dockerhub-username/your-repo-name:your-tag
      

      your-image-name 替换为你的本地镜像名称,your-dockerhub-username 替换为你的 Docker Hub 用户名,your-repo-name 替换为你在 Docker Hub 上要创建的仓库名称,your-tag 替换为你为镜像设置的标签(例如:latest)。

      例如:

      docker tag demo damager6666/demo:latest
      
    • 接下来推送Docker镜像,使用以下命令将镜像推送到 Docker Hub:

      docker push your-dockerhub-username/your-repo-name:your-tag
      

      your-dockerhub-usernameyour-repo-nameyour-tag 替换为实际的值。例如:

      docker push damager6666/demo:latest
      

步骤6:登陆 Sealos

步骤7:打开 「数据库」 应用

在这里插入图片描述

步骤8:创建数据库

  • 点击新建数据库

在这里插入图片描述

  • 基础配置:
    • 集群类型:mysql
    • 集群名称 : demo-db
    • CPU(推荐):1 Core
    • 内存(推荐):1 G
    • 实例数:1
    • 存储容量: 1 Gi
  • 点击 部署集群

步骤9:配置数据库

在这里插入图片描述
点击一键连接到数据库执行以下语句:

  • 创建 test_db 数据库

    create database test_db;
    
  • 创建 test 表

    CREATE TABLE `name_info` (
      `id` int(11) NOT NULL,
      `name` varchar(12) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
      PRIMARY KEY (`id`)
    );
    
  • 插入数据

    insert into test values (1,'Sealos');
    

步骤10:打开 「应用管理」 应用

  • 在 「应用管理」 中,点击「新建应用」来创建一个新的应用。
    在这里插入图片描述

步骤11:应用部署

  • 基础配置:

  • 应用名称(自定义):java-demo

  • 镜像名:damager6666/demo:latest

  • CPU(推荐):1 Core

  • 内存(推荐):1 G

  • 部署模式:

    • 实例数(自定义):1
      在这里插入图片描述
  • 网络配置:

    • 容器暴露端口:8080
    • 外网访问:开启
      在这里插入图片描述

步骤12:部署应用

  • 点击「部署应用」开始部署应用。

在这里插入图片描述

步骤13:访问应用

  • 点击「应用管理」查看,当应用的 STATUS 由 Pending 变为 Running,则表明该应用已成功启动。
  • 当 STATUS 为 Running,即可直接访问外网地址。
    在这里插入图片描述
  • 在浏览器上输入
https://tmgkflgdlstl.cloud.sealos.io/getPersons

在这里插入图片描述

  • 页面上显示之间插入到数据库的数据 ,表示你的 Java 应用程序已经在 Sealos 上运行
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值