java - 我可以在 Synology NAS 中部署 Java Spring-Boot 应用程序吗?

标签 java docker spring-boot deployment synology

我有一个带有 REST API(Maven 构建和 MongoDB 数据库)的 Spring-Boot 应用程序。我还将在此基础上使用 Angular 2 制作 UI(npm build)。

我想要做的是,托管这个网站,它的后端和数据库在服务器上。我可以在 Synology NAS (DS216j) 上执行此操作吗?还是我应该更好地购买像 Raspberry Pi 3 这样的小型计算机?

我在某处听说我们可以在 Docker 中部署我们的应用程序,而 Synology 有一个 docker 应用程序或……?这会帮助我实现目标吗?我想从您的类似设置中获得分步指南。

最佳答案

据我了解,您只想让您的应用程序在您的 NAS 上运行,因此使用 Docker 将是一种选择,但不是必需的。

根据model-specific download page , 您的 DS216j 支持 Java8。
所以你必须做的:

  • 在您的 NAS 上安装 Java
  • 将您的应用程序打包为独立的 jar 文件:如果还没有完成,您可以在 pom.xml 中执行此操作(有关详细信息,请参阅 Spring Boot documentation;顺便说一句,这种独立模式是 Spring Boot 的最佳功能之一)
  • 现在您可以上传 jar 文件
  • 通过 command line 运行它与 java -jar <jar-file-name>.jar

  • 只需确保您的应用程序的端口与 NAS 使用的端口不冲突。

    您还可以从您的应用程序创建一个 Docker 镜像并在您的 NAS 上运行它,您的模型似乎支持 Docker:https://www.synology.com/en-us/dsm/packages/Docker .但从我的角度来看,这会产生一些额外的努力,但不会增加值(value)。

    关于java - 我可以在 Synology NAS 中部署 Java Spring-Boot 应用程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47091229/

    相关文章:

    docker - 如何安全地从 GitLab Runner KubernetesExecutor pod 推送到私有(private)容器注册表?

    docker - Google Cloud Build - Dockerfile 和 cloudbuild.yaml 的不同范围

    java - Spring Batch 测试用例忽略 Spring 配置文件

    java - 在 JScrollPane 内编辑图像(JLabel)

    java - 由 : java. lang.ClassNotFoundException : org. eclipse.core.runtime.Plugin 引起

    java - JSpinner ActionListener 替代品

    c# - 在Dockerfile中仅读取第一行

    java - 模型属性为空

    java - 在 springboot 反序列化器中包含带有 jackson 的根对象

    java - 如何在一个方法中实现等待另一个方法在java中完成?