如何将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
部署命令
- 将
docker-compose.yml上传至服务器 - 执行启动命令:
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
- 登录Azure学生版门户,搜索App Service并点击创建
- 填写基础信息:
- 订阅:选择你的学生订阅
- 资源组:新建或选择现有资源组
- 名称:填写唯一应用名称(将作为访问域名的一部分)
- 发布:选择容器
- 操作系统:选择Linux
- 区域:选择就近区域
- 定价计划:选择免费F1(学生版支持)
- 点击容器标签页,配置镜像:
- 选项:选择Docker Hub
- 镜像和标签:填写你的Docker Hub镜像地址(如
your-username/demo:0.0.1-SNAPSHOT) - 访问类型:公开镜像选公共,私有镜像需添加Docker Hub用户名和密码
- 点击下一步:监控,可暂时关闭Application Insights,然后点击创建
步骤3:配置应用环境变量
- 应用创建完成后,进入App Service的配置 -> 应用程序设置
- 添加以下环境变量(覆盖
application.properties中的配置):SPRING_DATASOURCE_URL:填写SQL Server实际连接地址(使用Azure SQL Database可从资源的连接字符串中复制)SPRING_DATASOURCE_USERNAME:数据库用户名SPRING_DATASOURCE_PASSWORD:数据库密码
- 保存配置,App Service会自动重启应用
步骤4:测试访问
从App Service的概述页面获取应用URL(如https://your-app-name.azurewebsites.net),访问API接口验证可用性
备选方案:Azure Container Apps
如果需要更灵活的容器编排,可使用Azure Container Apps(学生版支持免费额度),步骤类似:
- 创建Container Apps环境
- 部署容器镜像,配置环境变量和端口映射
- 配置Ingress规则对外暴露服务
内容的提问来源于stack exchange,提问作者Code-forever
相关产品推荐
相关产品推荐

