1. Linux环境下Docker安装全指南
作为容器化技术的标杆,Docker已经成为现代开发和运维的标配工具。最近在帮团队搭建测试环境时,发现不少新人对Linux下的Docker安装还存在各种疑问。今天我就以Ubuntu 20.04 LTS为例,详细拆解安装过程中的技术要点和避坑指南。
先说说为什么要在Linux上装Docker?相比Windows和macOS,Linux原生支持容器技术,不需要额外的虚拟化层,性能损耗更低。特别是在生产环境中,Linux服务器配合Docker能实现更高的资源利用率。下面这个安装流程同样适用于CentOS、Debian等主流发行版,我会特别标注不同系统的差异点。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与依赖检查
2.1 系统要求确认
在开始安装前,建议先运行以下命令检查系统信息:
bash复制uname -a # 查看内核版本(需3.10以上)
lsb_release -a # 查看发行版信息
free -h # 检查内存(建议2GB以上)
df -h # 检查磁盘空间(建议20GB以上空闲)
特别注意:如果是在虚拟机上安装,需要确认BIOS中已开启VT-x/AMD-v虚拟化支持。可以用
egrep -c '(vmx|svm)' /proc/cpuinfo命令检查,返回结果大于0表示支持。
2.2 卸载旧版本
很多安装问题都源于旧版本残留,建议先执行清理:
bash复制sudo apt-get remove docker docker-engine docker.io containerd runc
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
对于CentOS系统,需要用yum remove替代apt-get,其他路径保持一致。
3. 安装方法与核心配置
3.1 使用官方脚本安装(推荐)
最快捷的方式是使用Docker官方提供的安装脚本:
bash复制curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
这个脚本会自动检测系统类型并完成以下操作:
- 添加Docker官方GPG密钥
- 设置稳定版仓库
- 安装最新版Docker引擎
- 启动Docker服务并设置开机自启
实测技巧:如果下载速度慢,可以尝试在命令前加上
HTTP_PROXY=http://your_proxy:port设置代理。
3.2 手动安装详解
对于需要定制安装的场景,可以分步执行:
步骤1:安装依赖包
bash复制sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
步骤2:添加GPG密钥
bash复制curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
步骤3:设置稳定版仓库
bash复制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
步骤4:安装Docker引擎
bash复制sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
4. 安装后配置与验证
4.1 用户组配置
默认只有root用户可以直接操作Docker,建议将当前用户加入docker组:
bash复制sudo usermod -aG docker $USER
newgrp docker # 立即生效
验证配置是否成功:
bash复制docker run hello-world
如果看到欢迎信息,说明安装成功。
4.2 镜像加速配置
国内用户建议配置镜像加速器,创建或修改/etc/docker/daemon.json:
json复制{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
然后重启服务:
bash复制sudo systemctl daemon-reload
sudo systemctl restart docker
5. 常见问题排查
5.1 启动失败问题
如果遇到Failed to start docker.service: Unit docker.service is masked.错误,执行:
bash复制sudo systemctl unmask docker.service
sudo systemctl unmask docker.socket
sudo systemctl start docker
5.2 存储驱动问题
对于某些旧系统,可能需要修改存储驱动。编辑/etc/docker/daemon.json:
json复制{
"storage-driver": "devicemapper"
}
5.3 防火墙配置
如果容器网络异常,可能需要调整防火墙规则:
bash复制sudo ufw allow 2375/tcp # Docker守护进程端口
sudo ufw reload
6. 生产环境优化建议
6.1 日志轮转配置
防止Docker日志占用过多磁盘空间,创建/etc/docker/daemon.json:
json复制{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
6.2 内核参数调优
对于高并发场景,建议调整内核参数:
bash复制echo "
vm.max_map_count=262144
fs.file-max=65536
" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
6.3 资源限制配置
限制Docker资源使用,创建或修改/etc/docker/daemon.json:
json复制{
"default-ulimits": {
"nofile": {
"Name": "nofile",
"Hard": 65536,
"Soft": 65536
}
}
}
7. 进阶工具安装
7.1 Docker Compose安装
管理多容器应用的必备工具:
bash复制sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
验证安装:
bash复制docker-compose --version
7.2 可视化工具Portainer
安装管理界面:
bash复制docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
访问http://服务器IP:9000即可使用。
8. 日常维护技巧
8.1 磁盘空间清理
定期执行以下命令释放空间:
bash复制docker system prune -a -f # 清理无用镜像、容器和网络
docker volume prune -f # 清理无用数据卷
8.2 版本升级方法
升级Docker CE版本:
bash复制sudo apt-get update
sudo apt-get install
