云服务器Docker部署终极指南:从零到生产环境
在云计算时代,Docker已成为现代化应用部署的黄金标准。本文将手把手带您完成从云服务器选购到Docker集群部署的全流程,涵盖阿里云/腾讯云/AWS等主流平台的实操细节,并揭秘3个提升部署效率的专家技巧。
一、云服务器准备阶段
1.1 服务器选型核心参数
- CPU:建议至少2核(Kubernetes集群需要更高配置)
- 内存:4GB起步(每个容器约占用50-300MB)
- 系统盘:推荐SSD云盘(40GB以上)
- 操作系统:Ubuntu 20.04 LTS(长期支持版最佳)
专家建议:AWS选择t3.medium实例,阿里云选ecs.g6.large,腾讯云选S5.MEDIUM8
1.2 必须的安全配置
- 禁用root远程登录
- 修改SSH默认22端口
- 配置安全组规则(仅开放必要端口)
- 安装fail2ban防暴力破解
二、Docker安装与优化
2.1 一键安装脚本(适用所有Linux发行版)
curl -fsSL https://get.docker.com | sudo sh
国内用户推荐使用阿里云镜像加速:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://[your-id].mirror.aliyuncs.com"]
}
EOF
sudo systemctl restart docker
2.2 生产环境必做配置
| 配置项 | 推荐值 | 作用 |
|---|---|---|
| 日志驱动 | json-file | 限制日志大小防止磁盘爆满 |
| 存储驱动 | overlay2 | 最佳性能存储方案 |
| CPU限制 | 0.5-2核 | 避免单个容器耗尽资源 |
三、实战部署案例
3.1 WordPress容器化部署
docker run --name mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7
docker run --name wordpress --link mysql:mysql -p 80:80 -d wordpress
3.2 Spring Boot微服务部署
# 构建镜像
docker build -t myapp:v1 .
# 运行容器
docker run -d --name app -p 8080:8080 \
-e SPRING_PROFILES_ACTIVE=prod \
-v /data/config:/config \
myapp:v1
四、高级技巧
🔧 技巧1:使用docker-compose编排多容器
创建docker-compose.yml文件管理复杂应用:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
⚠️ 技巧2:容器数据持久化方案
- 绑定挂载(Bind Mount):-v /host/path:/container/path
- 数据卷(Volume):docker volume create
- 云存储:阿里云NAS/AWS EFS
🚀 技巧3:监控与日志收集
推荐工具组合:
- Prometheus + Grafana监控
- ELK日志系统
- cAdvisor容器指标收集
通过本文的详细指导,您已经掌握了在云服务器上部署Docker的全套方法论。实际部署时建议:
- 测试环境先用docker run手动验证
- 生产环境使用docker-compose或Kubernetes
- 重要数据务必配置持久化存储
- 定期备份容器配置和数据卷
随着业务增长,可进一步学习Docker Swarm或Kubernetes实现集群化管理。
