在腾讯云服务器上使用 Docker 部署应用是一个常见且高效的部署方式。以下是详细的步骤指南,帮助你在腾讯云的 CVM(云服务器)上通过 Docker 快速部署你的应用。
🚀 一、准备工作
1. 购买并登录腾讯云服务器(CVM)
- 登录 腾讯云控制台
- 创建一台 Linux 云服务器(推荐 CentOS 7+/Ubuntu 20.04+)
- 获取公网 IP 地址
- 使用 SSH 登录服务器:
ssh root@<你的公网IP>
🐳 二、安装 Docker
Ubuntu / Debian 安装 Docker
# 更新包索引
sudo apt update
# 安装依赖
sudo apt 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
# 安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
CentOS 7/8 安装 Docker
# 安装 yum-utils 工具
sudo yum install -y yum-utils
# 添加 Docker 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
🔐 三、配置 Docker 权限(可选)
避免每次使用 sudo,将当前用户加入 docker 组:
sudo usermod -aG docker $USER
退出终端重新登录生效。
🛠 四、部署你的应用(以 Nginx 为例)
示例 1:运行一个简单的 Nginx 容器
docker run -d -p 80:80 --name my-nginx nginx
访问 http://<你的公网IP>,如果看到 Nginx 欢迎页,说明成功!
示例 2:用 Docker 部署一个 Node.js 应用
假设你有一个 Express 应用,目录结构如下:
myapp/
├── app.js
├── package.json
└── Dockerfile
1. 编写 Dockerfile
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["node", "app.js"]
2. 构建镜像并运行
# 构建镜像
docker build -t my-node-app .
# 运行容器
docker run -d -p 3000:3000 --name myapp my-node-app
3. 开放端口
- 在腾讯云控制台 → 安全组 → 添加规则:
- 协议类型:TCP
- 端口:3000
- 源 IP:0.0.0.0/0(或限制为特定 IP)
访问 http://<公网IP>:3000 查看应用。
📦 五、使用 Docker Compose(推荐用于多服务)
1. 安装 Docker Compose
# 下载最新版本(替换 v2.x.x 为实际版本)
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证
docker-compose --version
2. 创建 docker-compose.yml
例如部署一个 Web + Redis 的应用:
version: '3'
services:
web:
build: .
ports:
- "3000:3000"
environment:
- REDIS_HOST=redis
depends_on:
- redis
redis:
image: redis:alpine
3. 启动服务
docker-compose up -d
🔒 六、安全建议
- 安全组配置:只开放必要的端口(如 80、443、3000 等)
- 更新系统和 Docker:定期更新系统补丁
- 不要使用 root 运行应用:在 Dockerfile 中创建非 root 用户
- 使用
.dockerignore:避免敏感文件进入镜像 - HTTPS:生产环境建议配合 Nginx + SSL(可用腾讯云免费证书)
🔄 七、自动化部署建议(进阶)
- 使用 GitHub Actions 或 Jenkins 自动构建镜像并推送到 腾讯云容器镜像服务 TCR
- 在服务器拉取镜像并重启容器
- 结合
docker swarm或 Kubernetes(TKE) 实现集群管理
✅ 总结
| 步骤 | 内容 |
|---|---|
| 1 | 购买腾讯云 CVM 并登录 |
| 2 | 安装 Docker 和 Docker Compose |
| 3 | 编写 Dockerfile 部署应用 |
| 4 | 运行容器并映射端口 |
| 5 | 配置安全组开放端口 |
| 6 | (可选)使用 CI/CD 自动化部署 |
如果你提供具体的应用类型(如 Python、Java、React、Spring Boot 等),我可以给出更具体的 Docker 部署示例。
需要我帮你生成某个语言应用的 Docker 部署模板吗?
CLOUD技术博