使用阿里云轻量服务器 + Docker 部署 Spring Boot 项目实战指南

06-01 1843阅读

🎯 目标:使用阿里云轻量服务器部署一个完整的 Spring Boot 全栈项目(如 hmdp),包括 MySQL、Redis、Nginx 和 Spring Boot 应用。

💡 适合人群:有基础 Linux 操作能力、了解 Docker 的开发者,适用于课程设计、毕业设计或个人项目上线。

一、前置准备

1. 准备一台 Ubuntu 系统服务器

推荐使用 阿里云轻量应用服务器,大学生可以免费申请使用,配置为 2核1G,完全满足学习和小项目部署需求。

  • 登录方式:使用 SSH 工具(如 XShell 或 Terminal)连接服务器
  • 推荐使用 root 用户操作,或者在命令前加 sudo

    2. 安装 Docker

    # 更新系统软件包索引
    apt update && apt upgrade -y
    # 安装依赖包
    apt install -y apt-transport-https ca-certificates curl software-properties-common
    # 添加 Docker 官方 GPG 密钥
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    # 设置稳定仓库源
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
    # 再次更新并安装 Docker CE
    apt update
    apt install -y docker-ce
    # 启动 Docker 并设置开机自启
    systemctl enable docker && systemctl start docker
    # 验证安装
    docker --version

    二、部署mysql

    # 1.创建本地数据存储目录
    mkdir -p ~/mysql/data ~/mysql/logs
    # 2.拉取镜像(建议使用长期支持版本)
    docker pull mysql:5.6
    # 3.启动容器
    docker run -d \
      --name mysql_1 \
      -p 3306:3306 \
      -v ~/mysql/data:/var/lib/mysql \
      -v ~/mysql/logs:/logs \
      -e MYSQL_ROOT_PASSWORD=123456 \
      mysql:5.6

    ✅ 可选操作:

    • 使用客户端工具远程连接测试(如 Navicat、DBeaver)

    • 修改密码、创建数据库等可通过 docker exec 进入容器操作

      启动好可以用本地连接测试一下

      使用阿里云轻量服务器 + Docker 部署 Spring Boot 项目实战指南

      三、部署redis

      # 1.创建 Redis 数据与配置目录
      mkdir -p ~/redis/data ~/redis/conf
      # 2.下载官方配置文件并设置密码
      cd ~/redis/conf
      curl -O https://raw.githubusercontent.com/redis/redis/unstable/redis.conf
      # 3.编辑配置文件,添加密码认证
      vim redis.conf
      # 找到 requirepass 行,取消注释并设置密码,例如:
      # requirepass your_password_here
      # 4.拉取镜像
      docker pull redis:latest
      # 5.启动容器
      docker run -d \
        --name redis_custom \
        --restart always \
        -p 6379:6379 \
        -v ~/redis/data:/data \
        -v ~/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
        redis:latest redis-server /usr/local/etc/redis/redis.conf

      ✅ 可选操作:

      • 使用 redis-cli 测试连接和认证
      • 设置持久化策略、限制最大内存等可在 redis.conf 中调整

        启动好可以用本地连接测试一下

        使用阿里云轻量服务器 + Docker 部署 Spring Boot 项目实战指南

        四、部署nginx

        这个稍微麻烦一点,也就是多了一步上传压缩包到云端,解压这一步,因为你要挂自己的html和conf。

        1.上传并解压 Nginx 资源包

        将本地打包好的前端资源(含 HTML、CSS、JS、配置文件等)上传至服务器,例如 /root/dockerFiles/nginx-1.18.0_hmdp2.zip。

        使用阿里云轻量服务器 + Docker 部署 Spring Boot 项目实战指南

        假设你已经有了 nginx-1.18.0_hmdp2.zip 并且位于 /root/dockerFiles/ 目录下: 

        unzip nginx-1.18.0_hmdp2.zip -d nginx_hmdp

        2.准备宿主机目录并复制文件

        mkdir -p ~/nginx_conf
        mkdir -p ~/nginx_html

         把自己项目的conf和html复制到容器准备挂载的目录(我这里的root下面两个文件夹了,你可以放在一个里面例如:nginx/nginx_conf、nginx/nginx_html)

        cp ~/dockerFiles/nginx_hmdp/nginx-1.18.0_hmdp2/conf/nginx.conf ~/nginx_conf/nginx.conf
        cp -r ~/dockerFiles/nginx_hmdp/nginx-1.18.0_hmdp2/html/* ~/nginx_html/

        3. 拉取镜像并启动容器

        docker pull nginx:alpine
        docker run -d \
          --name nginx_hmdp1 \
          -p 80:80 \
          -v ~/nginx_html:/usr/share/nginx/html \
          -v ~/nginx_conf/nginx.conf:/etc/nginx/nginx.conf
          nginx:alpine

        4. 常见问题排查

        如果遇到问题,请按照以下步骤进行排查:

        (1) 检查挂载是否正确

        确认挂载的路径是否正确,并且宿主机上的文件确实存在于指定路径:

        ls -l ~/nginx_conf/nginx.conf
        ls -l ~/nginx_html/

        (2) 检查 Nginx 日志

        进入容器查看 Nginx 错误日志:

        docker exec -it nginx_hmdp1 /bin/sh
        cat /var/log/nginx/error.log

        (3) 检查 Nginx 配置语法

        在容器内测试 Nginx 配置文件语法:

        docker exec -it nginx_hmdp1 /bin/sh
        nginx -t
        docker run --rm -it \
          -v ~/nginx_conf/nginx.conf:/etc/nginx/conf.d/nginx.conf \
          nginx:alpine nginx -t

        如果配置文件有错误,Nginx 会提示具体的错误信息。

        五、部署 Spring Boot 项目(以 hmdp 为例)

        实际开发中,我们常常需要将 Spring Boot 应用打包并部署到生产环境中。使用 Docker 可以实现应用的快速构建、分发与部署。本文将以名为 hmdp 的 Spring Boot 项目为例,介绍如何通过 Dockerfile 构建镜像,并运行容器化服务。

        1.准备阶段:上传 JAR 包

        在项目目录下创建一个 dockerfile,用于定义镜像的构建过程。这里我们选择基于 openjdk:8-jdk-alpine 镜像,它是一个轻量级的 JDK 环境

        (1)打包 Spring Boot 应用

        在本地开发环境中,使用 IntelliJ IDEA 或 Maven 命令对项目进行清理和打包:

        用idea的maven先clean一下再package一下。

        使用阿里云轻量服务器 + Docker 部署 Spring Boot 项目实战指南

        (2)上传 JAR 到服务器

        使用工具如 XFTP 或 SCP 将生成的 JAR 包上传至服务器的目标目录,例如 /root/dockerFiles/。

        确保 Dockerfile 和 JAR 包处于同一目录下,便于后续构建。

        使用阿里云轻量服务器 + Docker 部署 Spring Boot 项目实战指南

        2.编写 Dockerfile 并构建镜像

        (1)创建 Dockerfile 文件

        在项目目录下创建一个 Dockerfile,用于定义镜像的构建过程。这里我们选择基于 openjdk:8-jdk-alpine 镜像,它是一个轻量级的 JDK 环境。

        vim /root/dockerFiles/springboot_dockerfile
        # 使用 openjdk:8-jdk-alpine 镜像(轻量化版本)
        FROM openjdk:8-jdk-alpine
        # 维护者信息(建议改用 LABEL 指令)
        LABEL maintainer="lfq "
        # 添加 Spring Boot 应用的 JAR 文件
        ADD hm-dianping-0.0.1-SNAPSHOT.jar app.jar
        # 启动命令
        ENTRYPOINT ["java", "-jar", "/app.jar"]
        (2)构建 Docker 镜像

        执行如下命令构建镜像:

        docker build -f ./springboot_dockerfile -t hmdp .

        3.运行容器并挂载配置文件

        为了便于维护和更新配置,推荐将 Spring Boot 应用的配置文件(如 application.yaml)从容器外部挂载进去。

        (1)准备宿主机配置文件

        在服务器上创建配置文件目录并放置你的 application.yaml,你可以自己写也可以上传都行。

        mkdir -p /root/myapp/config
        cp application.yaml /root/myapp/config/
        (2)运行容器并挂载配置

        执行以下命令启动容器:

        docker run -d \
            --name hmdp_new \
            -v /root/myapp/config/application.yaml:/app/config/application.yaml \
            -p 8088:8088 \
            hmdp

        参数说明:

        • -d:后台运行容器

        • --name:指定容器名称

        • -v:将宿主机的配置文件挂载到容器内部路径

        • -p:映射容器端口到宿主机(本例为 8088)

          六、总结

          本文详细讲解了如何在阿里云轻量服务器上使用 Docker 部署一个完整的 Spring Boot 项目(hmdp),包括:

          • Docker 安装配置
          • MySQL、Redis、Nginx、Spring Boot 应用的部署
          • 常用参数说明与问题排查技巧
          • 安全性与灵活性优化建议

            📌 扩展阅读:

            • Docker 官方文档
            • Spring Boot with Docker
            • Docker Compose 实战教程
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码