云服务器+Docker:3步完成应用部署全攻略
在云计算时代,Docker已成为应用部署的黄金标准。本文将手把手教你如何在主流云服务器上通过Docker容器技术快速部署应用,包含阿里云/腾讯云/AWS等平台通用方案,特别针对初学者设计的保姆级教程。
核心价值:无需复杂环境配置,绕过传统部署的"依赖地狱",实现一键式应用发布
一、前期准备:云服务器选购指南
选择云服务器时重点关注三个维度:
- 配置选择:1核2G起步(测试环境),生产环境建议2核4G以上
- 系统镜像:推荐Ubuntu 20.04 LTS或CentOS 7+
- 网络设置:务必开放80/443端口(Web应用)和2375端口(Docker守护)
小技巧:阿里云/腾讯云新用户首年通常有5折优惠,AWS提供12个月免费套餐
二、Docker环境搭建(以Ubuntu为例)
# 1. 卸载旧版本 sudo apt-get remove docker docker-engine docker.io containerd runc # 2. 安装依赖 sudo apt-get update sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release # 3. 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 4. 设置稳定版仓库 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 # 5. 安装Docker引擎 sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io # 6. 验证安装 sudo docker run hello-world
若看到"Hello from Docker!"提示,说明安装成功。建议执行以下优化配置:
- 将当前用户加入docker组:
sudo usermod -aG docker $USER - 配置镜像加速器(阿里云镜像加速地址需登录控制台获取)
三、实战部署Nginx应用
方案A:直接运行官方镜像
# 拉取最新版Nginx镜像 docker pull nginx:latest # 运行容器(映射80端口) docker run --name my-nginx -p 80:80 -d nginx
访问服务器公网IP即可看到Welcome页面
方案B:自定义镜像部署(推荐)
1. 创建项目目录结构:
- myapp/
- Dockerfile
- nginx.conf
- html/
- index.html
- static/
2. Dockerfile示例:
FROM nginx:alpine COPY nginx.conf /etc/nginx/nginx.conf COPY html /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]
3. 构建并运行:
# 构建镜像 docker build -t my-nginx . # 运行容器 docker run -d -p 80:80 --name my-nginx-container my-nginx
四、高阶运维技巧
1. 容器数据持久化
使用数据卷避免容器重启丢失数据:
docker run -v /宿主机路径:/容器内路径 ...
2. 日志管理
查看实时日志:
docker logs -f 容器ID
3. 资源监控
查看容器资源占用:
docker stats
4. 服务编排
使用docker-compose管理多容器应用:
version: '3'
services:
web:
build: .
ports:
- "80:80"
常见问题排查
| 问题现象 | 解决方案 |
|---|---|
| 无法访问80端口 | 检查云服务器安全组规则,确认iptables/firewalld配置 |
| docker命令需要sudo | 将用户加入docker组后重新登录 |
| 镜像拉取速度慢 | 配置国内镜像加速源 |
