You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Docker Hub中的Spring Boot镜像部署至服务器及Azure学生版平台

部署方案建议

一、通用服务器Docker Compose部署方案

1. 修正数据库连接配置

当前application.properties中的**host.docker.internal**仅适用于本地Docker环境,部署到远程服务器时需替换为实际的SQL Server地址:

  • 如果SQL Server部署在同一服务器的Docker容器中,使用容器名称作为地址
  • 如果是外部独立的SQL Server,填写其公网IP/域名+端口

2. Docker Compose配置示例

情况1:同时部署Spring Boot应用和SQL Server容器

version: '3.8'
services:
  sqlserver:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: sqlserver-diamondstore
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=Diamond12@
      - MSSQL_PID=Developer
    ports:
      - "1435:1433"
    volumes:
      - sqlserver-data:/var/opt/mssql
    restart: always

  spring-app:
    image: your-dockerhub-username/demo:0.0.1-SNAPSHOT  # 替换为你的Docker Hub镜像地址
    container_name: diamondstore-api
    ports:
      - "8080:8080"
    environment:
      - SPRING_DATASOURCE_URL=jdbc:sqlserver://sqlserver:1433;databaseName=DiamondStore;trustServerCertificate=true
      - SPRING_DATASOURCE_USERNAME=sa
      - SPRING_DATASOURCE_PASSWORD=Diamond12@
    depends_on:
      - sqlserver
    restart: always

volumes:
  sqlserver-data:

情况2:连接外部已有的SQL Server

version: '3.8'
services:
  spring-app:
    image: your-dockerhub-username/demo:0.0.1-SNAPSHOT  # 替换为你的Docker Hub镜像地址
    container_name: diamondstore-api
    ports:
      - "8080:8080"
    environment:
      - SPRING_DATASOURCE_URL=jdbc:sqlserver://your-sqlserver-ip:1435;databaseName=DiamondStore;trustServerCertificate=true
      - SPRING_DATASOURCE_USERNAME=sa
      - SPRING_DATASOURCE_PASSWORD=Diamond12@
    restart: always

部署命令

  1. 将docker-compose.yml上传至服务器
  2. 执行启动命令:docker-compose up -d

二、Azure学生版部署方案

推荐使用Azure App Service(容器部署模式),学生版包含免费额度,操作简单:

步骤1:准备工作

  • 确保你的Docker Hub镜像已公开(私有镜像需提前准备Docker Hub账号密码用于Azure访问)
  • 确认SQL Server网络可访问:本地SQL Server需开放防火墙端口;使用Azure SQL Database可直接在Azure中创建(学生版有免费额度)

步骤2:创建Azure App Service

  1. 登录Azure学生版门户,搜索App Service并点击创建
  2. 填写基础信息:
    • 订阅:选择你的学生订阅
    • 资源组:新建或选择现有资源组
    • 名称:填写唯一应用名称(将作为访问域名的一部分)
    • 发布:选择容器
    • 操作系统:选择Linux
    • 区域:选择就近区域
    • 定价计划:选择免费F1(学生版支持)
  3. 点击容器标签页,配置镜像:
    • 选项:选择Docker Hub
    • 镜像和标签:填写你的Docker Hub镜像地址(如your-username/demo:0.0.1-SNAPSHOT)
    • 访问类型:公开镜像选公共,私有镜像需添加Docker Hub用户名和密码
  4. 点击下一步:监控,可暂时关闭Application Insights,然后点击创建

步骤3:配置应用环境变量

  1. 应用创建完成后,进入App Service的配置 -> 应用程序设置
  2. 添加以下环境变量(覆盖application.properties中的配置):
    • SPRING_DATASOURCE_URL:填写SQL Server实际连接地址(使用Azure SQL Database可从资源的连接字符串中复制)
    • SPRING_DATASOURCE_USERNAME:数据库用户名
    • SPRING_DATASOURCE_PASSWORD:数据库密码
  3. 保存配置,App Service会自动重启应用

步骤4:测试访问

从App Service的概述页面获取应用URL(如https://your-app-name.azurewebsites.net),访问API接口验证可用性

备选方案:Azure Container Apps

如果需要更灵活的容器编排,可使用Azure Container Apps(学生版支持免费额度),步骤类似:

  1. 创建Container Apps环境
  2. 部署容器镜像,配置环境变量和端口映射
  3. 配置Ingress规则对外暴露服务

内容的提问来源于stack exchange,提问作者Code-forever

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 16:47:00