在 2H2G(2核CPU,2GB内存) 的服务器上安装 Docker 是可行的,但需要注意资源占用和优化配置以避免性能问题。以下是详细步骤和注意事项:
1. 系统要求
- 操作系统:推荐较新的 Linux 发行版(如 Ubuntu 20.04+/CentOS 7+/Debian 10+)。
- 资源警告:Docker 本身占用约 100-300MB 内存,2GB 内存需谨慎运行多个容器。
2. 安装 Docker
Ubuntu/Debian
# 卸载旧版本(如有)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 更新源并安装依赖
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
# 添加 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=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
# 安装 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 验证安装
sudo docker run hello-world
CentOS/RHEL
# 卸载旧版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
# 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证
sudo docker run hello-world
3. 优化配置(针对低内存)
限制 Docker 资源
-
调整守护进程配置:
编辑/etc/docker/daemon.json(若无则新建):{ "default-ulimits": { "nofile": { "Name": "nofile", "Hard": 65535, "Soft": 65535 } }, "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }重启 Docker:
sudo systemctl restart docker -
限制容器内存:
运行容器时明确限制内存(例如限制为 512MB):docker run -it --memory=512m --memory-swap=1g ubuntu
关闭不必要的服务
- 避免运行非必要的容器或后台服务(如 GUI、监控工具等)。
使用轻量级镜像
- 优先选择 Alpine Linux 等小体积镜像:
docker pull alpine:latest
4. 常见问题解决
-
内存不足:
若出现OOM(Out of Memory)错误,需减少容器内存限制或增加交换分区(Swap):sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile # 永久生效:将 `/swapfile swap swap defaults 0 0` 添加到 `/etc/fstab` -
性能慢:
避免同时运行多个容器,或升级服务器配置。
5. 验证资源占用
# 查看 Docker 进程资源使用
docker stats
# 查看系统资源
free -h
top
总结
2H2G 服务器可以安装 Docker,但需:
- 限制容器资源(CPU/内存)。
- 使用轻量级镜像。
- 关闭非必要服务。
- 必要时增加 Swap。
如果主要运行少量轻量容器(如 Nginx、Redis),2GB 内存足够;若需运行数据库等重型服务,建议升级配置。
云服务器