在阿里云 ECS 上部署 Docker,需要完成从系统基础环境到网络安全的完整准备。以下是关键步骤和注意事项:
一、系统基础准备
1. 选择合适镜像
- 推荐 Ubuntu 版本:20.04 LTS 或 22.04 LTS(长期支持版)
- 实例规格建议:根据业务需求选择,一般 2C4G 起步,容器密集型场景需更高配置
- 地域选择:靠近目标用户群体,降低网络延迟
2. 系统更新与依赖安装
# 更新系统包
sudo apt update && sudo apt upgrade -y
# 安装必要工具
sudo apt install -y curl wget vim git ca-certificates gnupg lsb-release
二、Docker 安装准备
1. 添加 Docker 官方 GPG 密钥
# 创建目录并下载 GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg |
sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
2. 配置 Docker 软件源
# 添加 Docker APT 仓库
echo "deb [arch=$(dpkg --print-architecture)
signed-by=/etc/apt/keyrings/docker.gpg]
https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3. 安装 Docker Engine
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4. 验证安装
docker version
docker info
sudo docker run hello-world
三、安全与权限配置
1. 将当前用户加入 docker 组(避免每次加 sudo)
sudo usermod -aG docker $USER
newgrp docker # 立即生效,否则需重新登录
2. 配置 Docker 守护进程安全选项
编辑 /etc/docker/daemon.json:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"userns-remap": "default"
}
然后重启 Docker:
sudo systemctl daemon-reload
sudo systemctl restart docker
四、阿里云特有配置
1. 安全组规则配置
在阿里云控制台为 ECS 实例配置安全组:
- 入方向:开放 22(SSH)、80(HTTP)、443(HTTPS)及 Docker 相关端口(如 2375 仅在内网使用)
- 出方向:允许所有出站流量(或按需限制)
2. 网络模式优化
- 默认使用
bridge网络即可满足大部分场景 - 如需高性能,可考虑
host模式(注意端口冲突风险) - 多容器通信建议使用自定义网络:
docker network create my-network
3. 日志管理
- 配置日志驱动防止磁盘占满
- 定期清理旧日志文件:
sudo journalctl --vacuum-time=7d
五、可选增强配置
1. 启用 Docker Compose
已随 Docker CE 安装,无需额外操作,可通过 docker compose 命令使用
2. 配置国内镜像提速
sudo mkdir -p /etc/docker
cat <<EOF | sudo tee /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.mirrors.aliyun.com"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
3. 监控与审计
- 安装
docker stats实时查看资源使用情况 - 配置日志轮转策略
- 定期备份重要数据卷
六、常见问题排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
permission denied |
用户未加入 docker 组 | sudo usermod -aG docker $USER |
| 启动失败 | 内核版本过低 | Ubuntu 20.04+ 通常兼容,检查 uname -r |
| 镜像拉取慢 | 网络问题 | 配置阿里云镜像提速器 |
| 端口冲突 | 宿主机端口被占用 | 使用 lsof -i :<port> 检查并调整容器端口映射 |
完成以上准备后,您的阿里云 ECS 即可稳定运行 Docker 容器化应用。建议首次部署前在小规模测试环境中验证流程,再应用到生产环境。
云小栈