加油
努力

Ubuntu系统在阿里云上部署Docker需要哪些前置准备?

在阿里云 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 容器化应用。建议首次部署前在小规模测试环境中验证流程,再应用到生产环境。

云服务器