新手使用阿里云2核2G服务器安装Docker需要注意什么?

新手在阿里云2核2G的服务器上安装Docker时,虽然操作相对简单,但受限于资源配置和安全性考虑,需要注意以下几点:


一、系统环境准备

  1. 选择合适的操作系统

    • 推荐使用 Ubuntu 20.04/22.04 LTSCentOS 7/8(或 Alibaba Cloud Linux)
    • 阿里云官方镜像通常已优化,建议优先选择 Alibaba Cloud Linux,性能和兼容性更好。
  2. 更新系统软件包

    sudo apt update && sudo apt upgrade -y    # Ubuntu/Debian
    sudo yum update -y                         # CentOS/RHEL
  3. 确保系统时间同步

    sudo timedatectl set-ntp true

二、资源限制与性能考量(2核2G关键点)

  1. 内存较小,避免运行过多容器

    • 2G内存较紧张,建议同时运行的容器不超过2~3个轻量级服务(如 Nginx + MySQL + 应用)。
    • 避免运行内存消耗大的服务(如 Elasticsearch、大型数据库等)。
  2. 启用 Swap(虚拟内存)

    • 默认可能未开启Swap,容易因内存不足导致进程被杀(OOM)。
    • 建议添加1~2GB Swap:
      sudo fallocate -l 2G /swapfile
      sudo chmod 600 /swapfile
      sudo mkswap /swapfile
      sudo swapon /swapfile
      # 永久生效:将 /swapfile none swap sw 0 0 添加到 /etc/fstab
  3. 监控资源使用

    • 使用 htopdocker stats 实时查看CPU、内存占用。
    • 安装 netdataprometheus node_exporter 进行基础监控。

三、Docker 安装注意事项

  1. 使用官方推荐方式安装

    • 不要使用 sudo apt install docker.io(版本旧),应使用 Docker 官方仓库:
      # Ubuntu 示例
      sudo apt install ca-certificates curl gnupg lsb-release
      sudo mkdir -p /etc/apt/keyrings
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
      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
      sudo apt update
      sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. 配置国内镜像提速(非常重要)

    • 阿里云提供免费的容器镜像提速器,可大幅提升拉取速度。
    • 登录 阿里云控制台 → 容器镜像服务 ACR 获取专属提速地址。
    • 配置 /etc/docker/daemon.json
      {
        "registry-mirrors": ["https://<你的提速器地址>.mirror.aliyuncs.com"]
      }
    • 重启 Docker:
      sudo systemctl daemon-reload
      sudo systemctl restart docker

四、安全设置

  1. 创建普通用户并加入 docker 组

    • 避免长期使用 root 运行 Docker 命令。
      sudo usermod -aG docker $USER
    • 重新登录后生效。
  2. 关闭不必要的端口

    • 在阿里云 安全组规则 中仅开放必要的端口(如 22、80、443),禁止暴露 Docker API(2375/2376)到公网。
  3. 定期更新系统和 Docker

    sudo apt update && sudo apt upgrade -y
    sudo apt install docker-ce docker-ce-cli containerd.io

五、使用建议

  1. 使用 Docker Compose 管理多容器应用

    • 安装 Docker Compose(新版已集成 CLI 插件):
      sudo apt install docker-compose-plugin
    • 使用 docker compose up 启动项目。
  2. 限制容器资源

    • 启动容器时指定内存/CPU限制,防止某个容器耗尽资源:
      docker run -d --memory=512m --cpus=1.0 --name myapp myimage
  3. 数据持久化

    • 使用 -v 挂载宿主机目录或命名卷,避免数据随容器删除而丢失。
    • 数据库等重要数据建议挂载到独立云盘。

六、常见问题排查

  • “Cannot connect to the Docker daemon”

    • 检查 Docker 是否启动:sudo systemctl status docker
    • 用户是否在 docker 组中。
  • Pull 镜像慢或失败

    • 检查是否配置了阿里云镜像提速。
  • 容器频繁崩溃

    • 使用 docker logs <container> 查看日志。
    • 检查是否内存不足(dmesg | grep -i 'oom')。

总结

推荐操作清单:

  • ✔️ 使用 Alibaba Cloud Linux 或 Ubuntu LTS
  • ✔️ 开启 Swap(1~2GB)
  • ✔️ 配置阿里云镜像提速
  • ✔️ 加入 docker 用户组
  • ✔️ 限制容器资源使用
  • ✔️ 安全组只开放必要端口

这样可以在有限资源下稳定运行 Docker,适合学习、测试或小型项目部署。随着业务增长,建议升级至更高配置(如2核4G以上)。