从零开始:云服务器部署与Docker环境配置全攻略
2025.09.26 21:40浏览量:0简介:本文详细介绍如何选择云服务器、完成基础环境搭建,并逐步配置Docker容器环境,适合开发者和企业用户快速上手。
一、云服务器选型与基础环境搭建
1.1 云服务器类型与规格选择
选择云服务器时需结合业务场景与预算,常见的类型包括:
- 通用型:适合Web应用、数据库等平衡型负载,如AWS EC2的t3系列、阿里云ECS的通用型g6。
- 计算优化型:适用于高CPU密集型任务(如AI训练),例如腾讯云CVM的计算型c6。
- 内存优化型:针对大数据分析、缓存等场景,如华为云C6s的内存增强型。
规格配置建议:
- 开发测试环境:2核4GB内存即可满足基础需求。
- 生产环境:根据并发量选择4核8GB以上,并预留20%资源冗余。
- 存储选择:优先使用SSD云盘(如AWS EBS gp3),IOPS与吞吐量更高。
1.2 操作系统与安全组配置
推荐使用Linux发行版(如Ubuntu 22.04 LTS或CentOS 8),因其对Docker支持更完善。操作步骤如下:
- 创建安全组:开放必要端口(如22 SSH、80 HTTP、443 HTTPS)。
- 禁用root远程登录:通过
sudo useradd -m admin创建普通用户,并赋予sudo权限。 - 配置防火墙:使用
ufw(Ubuntu)或firewalld(CentOS)限制访问。# Ubuntu示例sudo ufw allow 22/tcpsudo ufw enable
1.3 基础环境优化
- 更新系统包:
sudo apt update && sudo apt upgrade -y # Ubuntusudo yum update -y # CentOS
- 安装依赖工具:
sudo apt install -y curl wget git # Ubuntusudo yum install -y curl wget git # CentOS
二、Docker环境安装与配置
2.1 Docker官方安装方法
以Ubuntu为例,步骤如下:
- 卸载旧版本(如有):
sudo apt remove docker docker-engine docker.io containerd runc
- 安装依赖包:
sudo apt install -y apt-transport-https ca-certificates gnupg lsb-release
- 添加Docker官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 设置稳定版仓库:
echo "deb [arch=$(dpkg --print-architecture) 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 updatesudo apt install -y docker-ce docker-ce-cli containerd.io
2.2 验证安装与基础命令
- 检查版本:
docker --version
- 运行测试容器:
sudo docker run hello-world
- 常用命令:
docker ps -a # 列出所有容器docker images # 查看镜像docker rm <容器ID> # 删除容器docker rmi <镜像ID> # 删除镜像
2.3 配置Docker非root用户权限
为避免每次使用sudo,将当前用户加入docker组:
sudo usermod -aG docker $USERnewgrp docker # 立即生效
三、Docker高级配置与生产优化
3.1 配置Docker守护进程
编辑/etc/docker/daemon.json(如不存在则创建),示例配置:
{"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"},"storage-driver": "overlay2","exec-opts": ["native.cgroupdriver=systemd"]}
重启服务生效:
sudo systemctl restart docker
3.2 镜像加速与私有仓库
- 国内镜像加速(以阿里云为例):
- 登录阿里云容器镜像服务,获取专属加速地址。
- 修改
/etc/docker/daemon.json:{"registry-mirrors": ["https://<你的加速地址>.mirror.aliyuncs.com"]}
- 私有仓库配置:
docker login registry.example.com # 登录私有仓库docker tag nginx registry.example.com/myapp/nginx:v1 # 打标签docker push registry.example.com/myapp/nginx:v1 # 推送镜像
3.3 生产环境安全建议
- 限制资源使用:
docker run --cpus=1.5 --memory=2g nginx # 限制CPU与内存
- 使用非root用户运行容器:
FROM nginxRUN groupadd -r appgroup && useradd -r -g appgroup appuserUSER appuser
- 定期更新镜像:
docker pull nginx:latest # 更新基础镜像
四、常见问题与解决方案
4.1 容器无法访问外网
- 检查网络模式:默认使用
bridge模式,如需NAT访问,确保iptables规则正确。 - 解决方案:
docker run --network=host nginx # 使用主机网络(测试用)
4.2 磁盘空间不足
- 清理无用资源:
docker system prune -a # 删除所有未使用的镜像、容器、网络
- 扩展云盘:在云控制台调整磁盘大小后,使用
resize2fs(Linux)扩展文件系统。
4.3 性能瓶颈分析
- 使用
cAdvisor监控:
访问docker run -d --name=cadvisor -p 8080:8080 \-v /:/rootfs:ro \-v /var/run:/var/run:rw \-v /sys:/sys:ro \-v /var/lib/docker/:/var/lib/docker:ro \google/cadvisor:latest
http://<服务器IP>:8080查看资源使用情况。
五、总结与最佳实践
- 自动化部署:使用Terraform或Ansible实现云服务器与Docker的自动化配置。
镜像管理:采用多阶段构建减少镜像体积,例如:
FROM golang:1.21 as builderWORKDIR /appCOPY . .RUN go build -o myapp .FROM alpine:latestCOPY --from=builder /app/myapp .CMD ["./myapp"]
- 备份策略:定期备份
/var/lib/docker目录或使用docker save导出镜像。
通过以上步骤,开发者可快速完成云服务器部署与Docker环境配置,为后续的微服务架构、CI/CD流水线等高级场景奠定基础。实际项目中,建议结合Kubernetes进行容器编排,以应对大规模分布式系统的挑战。

发表评论
登录后可评论,请前往 登录 或 注册