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

在腾讯云轻量应用服务器(Lighthouse)上通过 Docker 部署 Spring Boot 应用,可以大大简化环境配置和版本管理。以下是完整的操作流程,涵盖从镜像构建到容器运行的关键步骤:


✅ 前提条件

  • 已购买并登录腾讯云轻量应用服务器(CentOS 7/8、Ubuntu 20.04+ 等主流系统)
  • 已安装 Docker(若未安装,见下文快速安装命令)
  • 本地已构建好 Spring Boot 应用的 .jar 包或可运行镜像

🚀 一、安装 Docker(如未安装)

Ubuntu / Debian

sudo apt-get update
sudo apt-get install docker.io -y
sudo systemctl enable --now docker
sudo usermod -aG docker $USER  # 避免每次 sudo,需重新登录生效

CentOS 7/8

# CentOS 8
sudo dnf install -y docker
sudo systemctl enable --now docker

# CentOS 7(需先安装 yum-utils)
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker

💡 验证安装:

docker --version
docker run hello-world

📦 二、准备 Spring Boot 应用

方案 A:本地打包后上传(推荐新手)

  1. 在本地用 Maven 打包:

    mvn clean package -DskipTests

    生成 target/your-app.jar

  2. 上传到服务器(以 scp 为例):

    scp target/your-app.jar root@<你的公网IP>:/opt/app/
  3. 登录服务器确认文件存在:

    ls -l /opt/app/your-app.jar

方案 B:直接在服务器上构建镜像(适合 CI/CD 场景)

如需自定义 Dockerfile,可在服务器上创建 Dockerfile

FROM openjdk:17-jdk-slim
WORKDIR /app
COPY your-app.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]

然后构建镜像:

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

🐳 三、运行 Docker 容器

基础运行命令

docker run -d 
  --name spring-boot-app 
  -p 8080:8080 
  -v /opt/app/logs:/app/logs 
  my-spring-boot-app

参数说明:

  • -d:后台运行
  • --name:容器名称
  • -p 8080:8080:映射主机 8080 → 容器 8080(Spring Boot 默认端口)
  • -v:挂载日志目录,便于查看和持久化
  • my-spring-boot-app:镜像名(本地打包则用 latest,自定义构建用你指定的 tag)

⚠️ 注意:轻量服务器防火墙需放行 8080 端口!
可通过控制台「安全组」添加规则:允许 TCP 8080 来自任意 IP(或仅你的 IP)。


🔍 四、验证与运维

查看容器状态

docker ps           # 查看运行中容器
docker logs spring-boot-app   # 实时日志
docker logs -f spring-boot-app --tail 100  # 最后 100 行

停止/重启/删除容器

docker stop spring-boot-app
docker start spring-boot-app
docker rm spring-boot-app

设置开机自启(重要!)

docker update --restart=always spring-boot-app

🌐 五、访问应用

浏览器打开:http://<你的轻量服务器公网IP>:8080

✅ 建议:后续可搭配 Nginx + 域名 + HTTPS 做反向X_X,提升安全性和体验。


🛠️ 进阶建议

需求 推荐方案
多实例部署 使用 docker-compose.yml 编排多个服务
环境变量配置 -e SPRING_PROFILES_ACTIVE=prod 指定 profile
日志集中管理 挂载 /var/log/spring-boot 或使用 ELK
自动更新 结合 GitHub Actions + docker pull && docker restart
监控告警 Prometheus + Grafana 容器化部署

示例 docker-compose.yml(可选):

version: '3'
services:
  app:
    image: my-spring-boot-app:latest
    ports:
      - "8080:8080"
    environment:
      - SPRING_PROFILES_ACTIVE=prod
    volumes:
      - ./logs:/app/logs
    restart: always

启动:docker-compose up -d


需要我提供:

  • 完整的 Dockerfile 模板(含健康检查、JVM 参数优化)?
  • 配合 Nginx 反向X_X的配置示例?
  • 自动化部署脚本(一键部署.sh)?

欢迎告诉我你的具体需求,我可以进一步定制方案 👇

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