以下是在2GB内存、4核CPU的Linux小型服务器上安装Docker的详细教程,适用于大多数主流Linux发行版(Ubuntu/Debian/CentOS/Alpine等):
一、系统准备(以Ubuntu 22.04为例)
-
更新系统
sudo apt update && sudo apt upgrade -y -
安装必要工具
sudo apt install -y curl apt-transport-https ca-certificates software-properties-common
二、安装Docker
方法1:使用官方脚本快速安装
curl -fsSL https://get.docker.com | sudo sh
方法2:手动安装(推荐生产环境)
-
添加Docker官方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 -
设置仓库
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 -
安装Docker引擎
sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
三、配置优化(针对小内存服务器)
-
限制Docker内存使用
sudo nano /etc/docker/daemon.json添加以下内容(限制Docker守护进程内存为1.5GB):
{ "default-runtime": "runc", "runtimes": { "runc": { "path": "runc" } }, "storage-driver": "overlay2", "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" }, "memory": "1.5g", "oom-kill-disable": false }重启Docker生效:
sudo systemctl restart docker -
禁用不必要的服务
sudo systemctl disable docker-containerd docker.socket
四、验证安装
-
检查Docker版本
docker --version docker compose version -
运行测试容器
docker run --rm -it --memory=128m alpine sh(
--memory=128m限制单个容器内存)
五、常用管理命令
| 功能 | 命令 |
|---|---|
| 启动Docker | sudo systemctl start docker |
| 开机自启 | sudo systemctl enable docker |
| 查看容器 | docker ps -a |
| 资源监控 | docker stats |
六、卸载Docker
sudo apt purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /etc/docker
注意事项
-
SWAP分区:如果服务器有SWAP,建议启用(至少1GB)以防内存不足:
sudo fallocate -l 1G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab -
镜像提速:国内服务器建议配置镜像提速器(阿里云/腾讯云等)。
-
安全建议:避免直接使用
root运行Docker,将用户加入docker组:sudo usermod -aG docker $USER newgrp docker
按此流程操作后,你的2GB内存服务器即可高效运行Docker容器。对于生产环境,建议进一步配置日志轮转和资源监控(如cAdvisor)。
云服务器