摘要:本文提供在Linux系统(Ubuntu/CentOS)中安装Docker的完整教程,涵盖多版本安装、镜像加速配置、用户权限管理及常见问题解决方案,助力开发者快速上手容器化部署。
一、准备工作
1. 卸载旧版本(如有)
# Ubuntu/Debian
sudo apt remove docker docker-engine docker.io containerd runc
# CentOS/RHEL
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2. 安装依赖工具
# Ubuntu/Debian
sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release
# CentOS/RHEL
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
二、安装Docker引擎
方法1:通过官方仓库安装(推荐)
Ubuntu/Debian
1. 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
2. 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) 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
3. 安装Docker引擎
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
CentOS/RHEL
1. 添加Docker仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2. 安装Docker引擎
sudo yum install -y docker-ce docker-ce-cli containerd.io
方法2:使用脚本快速安装(适合测试环境)
curl -fsSL https://get.docker.com | sudo sh
三、配置与优化
1. 启动Docker服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
2. 将当前用户加入docker组(避免频繁使用sudo)
sudo usermod -aG docker $USER
newgrp docker # 立即生效或重新登录系统
3. 配置镜像加速器(国内用户推荐)
1. 阿里云镜像加速(需替换为个人加速地址)
登录阿里云控制台获取专属加速器地址,修改配置文件:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
2. 中科大镜像加速
修改daemon.json
添加:
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
3. 重启Docker服务生效
sudo systemctl daemon-reload
sudo systemctl restart docker
四、验证安装
1. 检查Docker版本
docker --version
# 输出示例:Docker version 24.0.7, build afdd53b
2. 运行测试容器
docker run hello-world
# 若显示"Hello from Docker!"则安装成功
五、常用命令速查
功能 | 命令示例 |
---|---|
拉取镜像 | docker pull nginx:latest |
启动容器 | docker run -d -p 80:80 nginx |
查看运行中的容器 | docker ps |
查看所有容器 | docker ps -a |
停止容器 | docker stop <容器ID> |
删除容器 | docker rm <容器ID> |
删除镜像 | docker rmi <镜像ID> |
查看日志 | docker logs <容器ID> |
六、常见问题解决(FAQ)
1. 权限问题:Got permission denied
- 原因:未将用户加入docker组
- 解决:执行sudo usermod -aG docker $USER并重新登录
2. Docker服务启动失败
- 检查日志:sudo journalctl -u docker.service
- 常见原因:镜像加速器配置错误或端口冲突
3. 镜像拉取速度慢
- 解决:更换国内镜像源(如阿里云、中科大)
4. 防火墙配置
# Ubuntu
sudo ufw allow 2375/tcp
# CentOS
sudo firewall-cmd --add-port=2375/tcp --permanent && firewall-cmd --reload
5. 彻底卸载Docker
# Ubuntu
sudo apt purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
# CentOS
sudo yum remove docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
七、总结
通过本文,您已掌握在Linux系统中安装和配置Docker的核心步骤。Docker作为容器化技术的标杆工具,可显著提升开发与部署效率。建议结合实际需求学习Docker Compose与Swarm等进阶功能,构建完整的容器化解决方案。