别再踩坑!CentOS 7 最全 Docker 安装教程(含二进制部署)_centos7安装docker
一、在线安装 Docker
1. 设置存储库
1.1 安装 yum-utils
yum install -y yum-utils
1.2 添加稳定的存储库
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(注:官方存储库地址为 https://download.docker.com/linux/centos/docker-ce.repo)
2. 安装 Docker
2.1 安装最新版本
yum -y install docker-ce docker-ce-cli containerd.io
2.2 查看 Docker 版本
docker -v
2.3 安装指定版本
1. 列出可用版本
yum list docker-ce --showduplicates | sort -r
2. 安装指定版本(例如 17.12.0)
yum install docker-ce-17.12.0 docker-ce-cli-17.12.0 containerd.io
3. 启动与管理 Docker 服务
3.1 启动 Docker
systemctl start docker
3.2 停止 Docker
systemctl stop docker
3.3 重启 Docker
systemctl restart docker
3.4 查看 Docker 状态
systemctl status docker
3.5 设置开机自启
systemctl enable docker
4. 配置镜像加速器
4.1 创建或编辑配置文件 /etc/docker/daemon.json
mkdir -p /etc/dockercat > /etc/docker/daemon.json << EOF{ \"registry-mirrors\": [ \"https://docker.unsee.tech\", \"https://dockerpull.org\", \"https://docker.1panel.live\", \"https://dockerhub.icu\" ]}EOF
4.2 重启 Docker 服务
systemctl daemon-reloadsystemctl restart docker
4.3 查看加速器地址
docker info | grep -A 10 \"Registry Mirrors\"
5. 修改 Docker 默认存储目录
5.1 停止 Docker 服务
systemctl stop docker
5.2 创建新目录并设置权限
mkdir -p /data/docker
5.3 如果已有数据,移动到新目录
rsync -aH /var/lib/docker/ /data/docker/
5.4 修改配置文件
sed -i\'/}/i\\,\"data-root\": \"/data/docker\"\' /etc/docker/daemon.json
5.5 启动 Docker 服务
systemctl start docker
5.6 验证配置
docker info | grep \"Docker Root Dir\"
输出示例:
Docker Root Dir: /data/docker
6卸载 Docker
6.1 卸载主要组件
yum remove docker-ce docker-ce-cli containerd.io -y
6.2 删除所有数据(可选)
rm -rf /var/lib/dockerrm -rf /etc/docker
6.3 手动检查与清理
如果修改过其他文件(如 daemon.json),手动清理:
rm -rf /etc/docker/daemon.json
6.4 注意事项
6.4.1 卸载前备份重要数据(镜像、容器等)。
6.4.2 清理后重新安装时,建议删除旧数据以避免冲突。
二、离线方式(二进制)
1. 准备环境
1.1 确保系统环境
确保没有安装旧版本 Docker:
yum remove -y docker docker-common docker-selinux docker-engine
1.2 检查系统内核版本
Docker 要求 CentOS 7 的内核版本为 3.10 或更高:
uname -r
2. 下载二进制包
2.1 下载 Docker 二进制包
从 Docker 官方网站下载二进制包:Docker 静态版本下载https://download.docker.com/linux/static/stable/x86_64/ 选择适合 CentOS 的版本(如 Docker 20.10.26),下载后传输到离线服务器,例如 /root/docker-binary/
2.2 示例下载命令
在有网络的机器上运行以下命令:
wget https://download.docker.com/linux/static/stable/x86_64/docker-20.10.26.tgz
或者在 Windows 机器上下载好并通过 SCP 或 U 盘传输到离线服务器。
3. 安装 Docker
3.1 解压文件
cd /root/docker-binary/tar -xvzf docker-20.10.26.tgz
3.2 移动到系统路径
cp docker/* /usr/bin/
3.3 创建服务文件
为 Docker 创建系统服务文件 /etc/systemd/system/docker.service:
cat > /etc/systemd/system/docker.service <<EOF[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]ExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP \\$MAINPIDTimeoutSec=0RestartSec=2Restart=alwaysLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinity[Install]WantedBy=multi-user.targetEOF
3.4 启动 Docker 服务
启动 Docker:
systemctl start docker
停止 Docker:
systemctl stop docker
重启 Docker:
systemctl restart docker
查看状态:
systemctl status docker
设置开机自启动:
systemctl enable docker
4. 配置镜像加速器
4.1 创建或编辑配置文件 /etc/docker/daemon.json
mkdir -p /etc/dockercat > /etc/docker/daemon.json << EOF{ \"registry-mirrors\": [ \"https://docker.unsee.tech\", \"https://dockerpull.org\", \"https://docker.1panel.live\", \"https://dockerhub.icu\" ]}EOF
4.2 重启 Docker 服务
systemctl daemon-reloadsystemctl restart docker
4.3 查看加速器地址
docker info | grep -A 10 \"Registry Mirrors\"
5. 设置 Docker 默认存储路径
5.1 停止 Docker 服务
systemctl stop docker
5.2 创建新的存储目录
mkdir -p /data/docker
5.3 移动现有数据(如果有)
rsync -aH /var/lib/docker/ /data/docker/
5.4 配置 Docker 使用新目录
编辑 Docker 的配置文件 /etc/docker/daemon.json(如果文件不存在,可以创建):
sed -i \'/}/i \\ ,\"data-root\": \"/data/docker\"\' /etc/docker/daemon.json
5.5 启动 Docker 服务
systemctl start docker
5.6 验证 Docker 是否使用了新的存储目录
docker info | grep \"Docker Root Dir\"
6. 卸载 Docker
6.1 停止 Docker 服务
systemctl stop docker
6.2 删除 Docker 二进制文件
rm -f /usr/bin/docker*rm -f /usr/bin/containerd*rm -f /usr/bin/runc
6.3 删除 Docker 服务文件
rm -f /etc/systemd/system/docker.servicesystemctl daemon-reload
6.4 删除 Docker 数据目录
rm -rf /var/lib/dockerrm -rf /data/docker # 如果您自定义了存储目录
6.5 删除其它Docker 配置文件
rm -rf /etc/dockerrm -rf /etc/systemd/system/docker.service.drm -rf /var/run/dockerrm -rf /var/log/docker
7. 验证卸载是否成功
检查是否还有残留的 Docker 文件:
which dockerdocker --version
如果输出为空或显示未找到命令,说明卸载成功。