在当今的IT运维与开发领域,Docker已经成为容器化技术的代名词,极大地简化了应用的部署、扩展和管理,对于广泛使用的CentOS系统而言,快速、标准化地安装Docker环境是许多工程师的日常需求,相较于手动执行一系列命令,使用一个精心编写的自动化脚本不仅能够提升效率,还能确保多台服务器上安装环境的一致性,减少人为失误,本文将提供一个详尽的CentOS安装Docker的脚本,并对其核心步骤进行深入解析,帮助您理解其工作原理,实现一键式部署。

为什么选择安装脚本?
手动安装Docker涉及更新系统、卸载旧版本、配置仓库、安装依赖、启动服务等多个环节,这个过程虽然不难,但在需要频繁部署新服务器或批量更新环境时,会变得繁琐且容易出错,自动化脚本则将所有步骤封装起来,具备以下显著优势:
- 高效性:一次编写,多次执行,将原本需要数分钟的人工操作缩短至几十秒。
- 一致性:脚本确保了每一台服务器都执行完全相同的安装流程,避免了因操作差异导致的环境不一致问题。
- 可复用性:脚本易于分享和存储,团队成员可以轻松地在任何新服务器上复现标准化的Docker环境。
脚本核心步骤解析
一个健壮的Docker安装脚本通常会包含以下几个关键阶段,理解这些步骤有助于您在遇到问题时进行排查和定制。
- 环境准备与清理:脚本会检查执行权限,并更新系统软件包到最新状态,以确保依赖关系的稳定,最关键的一步是检查并卸载系统中可能存在的旧版本Docker,这可以避免与新版本产生冲突。
- 安装必要依赖:Docker的运行依赖于一些系统工具,如
yum-utils(提供yum-config-manager工具)、device-mapper-persistent-data和lvm2(用于存储驱动),脚本会自动安装这些依赖。 - 添加Docker官方仓库:为了获取最新、最稳定的Docker版本,脚本会添加Docker官方的Yum仓库,而不是直接使用CentOS默认仓库中可能过时的版本。
- 安装Docker Engine:配置好仓库后,脚本会安装Docker Engine社区版(
docker-ce)、客户端(docker-ce-cli)以及容器运行时(containerd.io)。 - 服务启动与配置:安装完成后,脚本会启动Docker服务,并将其设置为开机自启,为了方便日常使用,一个可选但推荐的步骤是将当前用户添加到
docker用户组,这样执行docker命令时就无需每次都输入sudo。 - 验证安装:通过运行
docker --version查看版本信息,并执行docker run hello-world来拉取一个测试镜像并运行,以此验证Docker引擎是否安装成功且功能正常。
完整安装脚本
以下是一个可以直接在CentOS 7/8系统上使用的Docker安装脚本,它集成了上述所有步骤,并加入了必要的注释。

#!/bin/bash
# Docker在CentOS上的自动安装脚本
# 适用于CentOS 7/8
# 1. 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2. 安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3. 添加Docker官方仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 4. 安装Docker Engine
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 5. 启动Docker服务并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 6. 将当前用户添加到docker组(可选,方便操作)
sudo usermod -aG docker $USER
# 7. 验证安装
echo "----------------- 验证Docker安装 -----------------"
sudo docker --version
sudo docker run hello-world
echo "------------------------------------------------"
echo "Docker安装完成!"
echo "请重新登录或执行 'newgrp docker' 以使用户组更改生效。"
使用方法:
- 将上述脚本内容保存为文件,
install_docker.sh。 - 赋予执行权限:
chmod +x install_docker.sh。 - 运行脚本:
./install_docker.sh。
脚本执行完毕后,根据提示重新登录或执行newgrp docker命令,即可开始使用Docker。
相关问答FAQs
问题1:脚本执行失败,提示仓库连接超时怎么办?
解答:这通常是由于网络问题,无法访问Docker官方的海外仓库,您可以尝试检查服务器的网络连接,对于中国大陆地区的用户,强烈建议配置国内镜像源(如阿里云、清华大学等)来加速Docker镜像的拉取,您可以在/etc/docker/daemon.json文件中配置镜像加速器,然后重启Docker服务。

问题2:为什么需要将用户添加到docker组?这样做安全吗?
解答:将用户添加到docker组,是为了让该用户能够直接执行docker命令而无需每次都使用sudo,提升了操作的便捷性,这也带来了一定的安全风险。docker组的成员实际上拥有与root用户相当的权限,因为他们可以通过挂载宿主机目录等方式在容器内执行任意命令,从而获得对整个系统的控制权,请务必只将您完全信任的用户添加到该组,在生产环境中,应谨慎使用此配置。