奋斗
努力

腾讯云轻量服务器部署Spring Boot应用用Docker怎么操作?

云计算

在腾讯云轻量应用服务器(Lighthouse)上通过 Docker 部署 Spring Boot 应用,是一个非常高效且标准化的流程。以下是详细的操作步骤,从环境准备到最终访问。


✅ 前置条件

  1. 已购买腾讯云轻量应用服务器(建议 CentOS 7/8、Ubuntu 20.04+ 或 Debian 系统)。
  2. 已开放端口:确保防火墙/安全组中放行了你应用的端口(如 8080)。
  3. 基础工具:SSH 登录服务器。

🚀 完整部署步骤

第一步:安装 Docker 和 Docker Compose

推荐使用官方脚本一键安装,简洁高效。

# 1. 卸载旧版本(如果有)
sudo yum remove docker 
    docker-client 
    docker-client-latest 
    docker-common 
    docker-latest 
    docker-latest-logrotate 
    docker-logrotate 
    docker-engine

# 2. 安装依赖
sudo yum install -y yum-utils

# 3. 设置 Docker 镜像仓库(推荐阿里云镜像提速,提升下载速度)
sudo yum-config-manager 
    --add-repo 
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 4. 安装 Docker Engine, CLI, Containerd, Compose
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 5. 启动 Docker 并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 6. 验证安装
docker --version
docker compose version

💡 提示:如果是 Ubuntu 系统,请使用 apt 命令安装,逻辑类似。


第二步:准备 Spring Boot 应用

方式一:使用已打包好的 JAR 文件(推荐新手)

假设你的 Spring Boot 项目已经打成 app.jar,上传到服务器某个目录,例如 /opt/app/。

mkdir -p /opt/app
cd /opt/app
# 通过 scp 或 FTP 将 app.jar 上传到这里

方式二:使用 Dockerfile 构建镜像(推荐生产环境)

在项目根目录创建 Dockerfile:

# 使用官方精简版 JDK 镜像
FROM openjdk:17-jdk-slim

# 设置工作目录
WORKDIR /app

# 复制 jar 包
COPY target/app.jar app.jar

# 暴露端口
EXPOSE 8080

# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]

然后执行构建:

docker build -t my-spring-boot-app .

第三步:运行容器

方法 A:直接运行(简单场景)

docker run -d 
  --name spring-boot-app 
  -p 8080:8080 
  -v /opt/app/logs:/app/logs 
  my-spring-boot-app
  • -d:后台运行
  • -p 8080:8080:映射主机端口 8080 到容器端口 8080
  • -v:挂载日志目录(可选)

方法 B:使用 Docker Compose(推荐,便于管理)

在 /opt/app/ 目录下创建 docker-compose.yml:

version: '3.8'

services:
  app:
    image: my-spring-boot-app          # 如果使用 Dokerfile 构建,此处填镜像名
    # 或者直接用 build: . 来构建
    # build: .
    container_name: spring-boot-app
    ports:
      - "8080:8080"
    volumes:
      - ./logs:/app/logs               # 挂载日志目录
    environment:
      - TZ=Asia/Shanghai               # 设置时区
      - SPRING_PROFILES_ACTIVE=prod    # 激活生产配置
    restart: always                    # 自动重启
    networks:
      - app-network

networks:
  app-network:
    driver: bridge

启动服务:

cd /opt/app
docker compose up -d

第四步:验证与调试

1. 查看容器状态

docker ps
docker compose ps

2. 查看日志

docker logs -f spring-boot-app
# 或
docker compose logs -f app

3. 测试访问

在浏览器中访问:

http://<你的服务器公网IP>:8080

如果返回 Spring Boot 默认页面或接口数据,说明部署成功!


🔧 常见问题排查

问题 解决方案
连接超时 检查腾讯云控制台 → 防火墙 → 是否放行 TCP 8080 端口
容器启动后立即退出 查看日志 docker logs <container_id>,通常是 Java 启动报错或配置文件错误
内存不足 轻量服务器内存较小,可在 docker-compose.yml 中添加资源限制:
deploy.resources.limits.memory: 512M
中文乱码 在 Dockerfile 中安装字体:
RUN apt-get update && apt-get install -y fontconfig ttf-wqy-microhei
Docker Compose 命令无效 新版本的 Docker Compose 是插件形式,使用 docker compose(无连字符),而非 docker-compose

🌟 进阶优化建议

  1. 使用 Nginx 反向X_X + HTTPS
    不要直接暴露 8080 端口,而是通过 Nginx 转发 80/443 端口,支持 SSL 证书。

  2. 多阶段构建减小镜像体积

    FROM maven:3.8-openjdk-17 AS builder
    WORKDIR /app
    COPY pom.xml .
    COPY src ./src
    RUN mvn clean package -DskipTests
    
    FROM openjdk:17-jdk-slim
    WORKDIR /app
    COPY --from=builder /app/target/*.jar app.jar
    ENTRYPOINT ["java", "-jar", "app.jar"]
  3. 监控与健康检查
    在 docker-compose.yml 中添加 healthcheck:

    healthcheck:
     test: ["CMD", "curl", "-f", "http://localhost:8080/actuator/health"]
     interval: 30s
     timeout: 10s
     retries: 3

✅ 完成以上步骤后,你的 Spring Boot 应用已在腾讯云轻量服务器上稳定运行!如需自动化部署,可结合 GitHub Actions 或 GitLab CI/CD 实现一键发布。

未经允许不得转载:云服务器 » 腾讯云轻量服务器部署Spring Boot应用用Docker怎么操作?