在腾讯云上使用 Docker 部署 Java 项目是一个常见且高效的部署方式。以下是完整的步骤指南,帮助你将 Java 项目(如 Spring Boot)通过 Docker 部署到腾讯云服务器上。
🚀 一、准备工作
-
购买并登录腾讯云 CVM(云服务器)
- 登录 腾讯云控制台
- 购买一台 Linux 云服务器(推荐 CentOS 7+/Ubuntu 20.04)
- 记录公网 IP、登录用户名(如 root 或 ubuntu)、密码或密钥
-
本地开发环境
- 本地开发好 Java 项目(如 Spring Boot),打包成
jar文件 - 安装 Docker Desktop(可选,用于本地测试)
- 本地开发好 Java 项目(如 Spring Boot),打包成
🐳 二、在腾讯云服务器上安装 Docker
登录到你的云服务器(使用 SSH):
ssh root@<你的公网IP>
安装 Docker(以 Ubuntu 为例):
# 更新包索引
sudo apt-get update
# 安装依赖
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
# 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 添加 Docker 仓库
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新包索引
sudo apt-get update
# 安装 Docker
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证安装
docker --version
其他系统(如 CentOS)请参考 Docker 官方文档。
📦 三、准备 Java 项目
-
本地打包项目
在本地使用 Maven 打包:
mvn clean package生成的 jar 文件通常在
target/your-project-0.0.1.jar -
上传 jar 到服务器
使用
scp命令上传:scp target/your-project-0.0.1.jar root@<公网IP>:/root/app/或者使用 SFTP 工具(如 FileZilla)上传。
🐳 四、编写 Dockerfile
在服务器上创建项目目录并编写 Dockerfile:
mkdir /root/app && cd /root/app
nano Dockerfile
内容如下:
# 使用官方 OpenJDK 基础镜像
FROM openjdk:11-jre-slim
# 设置工作目录
WORKDIR /app
# 将本地 jar 文件复制到容器中
COPY your-project-0.0.1.jar app.jar
# 暴露应用端口(如 8080)
EXPOSE 8080
# 容器启动时运行 Java 应用
ENTRYPOINT ["java", "-jar", "app.jar"]
注意:替换
your-project-0.0.1.jar为你的实际 jar 文件名。
🏗️ 五、构建并运行 Docker 镜像
# 构建镜像
docker build -t my-java-app .
# 运行容器
docker run -d -p 8080:8080 --name myapp my-java-app
-d:后台运行-p 8080:8080:将主机 8080 映射到容器 8080--name myapp:容器名称
🔐 六、配置安全组(重要!)
进入腾讯云控制台:
- 找到你的 CVM 实例
- 进入 安全组 配置
- 添加规则:放行 TCP 8080 端口(或你项目使用的端口)
- 协议类型:TCP
- 端口:8080
- 源 IP:0.0.0.0/0(或限制为你的 IP)
🌐 七、访问应用
在浏览器中访问:
http://<你的公网IP>:8080
如果项目是 Spring Boot,默认会显示页面或返回 JSON。
🧰 八、常用 Docker 命令
# 查看运行中的容器
docker ps
# 查看日志
docker logs myapp
# 停止容器
docker stop myapp
# 重启容器
docker restart myapp
# 删除容器
docker rm -f myapp
# 删除镜像
docker rmi my-java-app
✅ 九、进阶建议
-
使用 docker-compose.yml 管理服务
version: '3' services: java-app: build: . ports: - "8080:8080" restart: always -
结合 Nginx 反向X_X
- 使用 Nginx 做负载均衡或域名访问
- 配置 80 端口X_X到 8080
-
使用腾讯云容器服务 TKE(可选)
- 更高级:将 Docker 镜像推送到 腾讯云容器镜像服务 TCR
- 使用 Kubernetes 部署管理
-
JVM 参数优化
ENTRYPOINT ["java", "-Xms512m", "-Xmx1g", "-jar", "app.jar"]
📌 总结
通过以上步骤,你可以在腾讯云服务器上成功使用 Docker 部署 Java 项目。核心流程:
本地打包 → 上传 jar → 编写 Dockerfile → 构建镜像 → 启动容器 → 开放端口 → 访问服务
如有需要,我也可以提供 docker-compose.yml 示例或推送镜像到 TCR 的教程。
需要我帮你生成完整的示例代码或脚本吗?
秒懂云