Linux 环境源码安装 Docker

CentOS 中通过源码方式安装 Docker 27.0.3 的完整步骤,包含命令操作、配置说明及状态验证,核心内容总结如下:

一、安装核心步骤

1. 下载Docker源码包

通过wget命令从清华镜像源拉取Docker 27.0.3的压缩包(避免官方源下载缓慢),命令如下:

bash 复制代码
wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/docker-28.3.3.tgz
2. 解压源码包

使用tar命令将压缩包解压到当前目录,解压后会生成docker文件夹,命令如下:

bash 复制代码
tar xzf docker-28.3.3.tgz
3. 复制Docker指令到系统目录

将解压后docker文件夹内的所有执行指令,复制到系统默认的二进制命令目录/usr/bin/(确保全局可调用Docker命令),命令如下:

bash 复制代码
cp docker/* /usr/bin/
4. 配置Docker为systemd服务

通过创建docker.service文件,将Docker注册为系统服务(支持systemctl管理),具体操作如下:

    1. 创建服务文件:vim /etc/systemd/system/docker.service
    1. 写入以下配置内容(文件分3个核心模块,各模块作用见注释):
    ini 复制代码
    [Unit]
    Description=Docker Application Container Engine  # 服务描述
    Documentation=https://docs.docker.com            # 官方文档链接
    After=network-online.target firewalld.service    # 启动顺序:在网络、防火墙服务后启动
    Wants=network-online.target                      # 依赖网络服务,网络失败则Docker不启动
    
    [Service]
    Type=notify                                      # 启动类型:服务就绪后通知systemd
    ExecStart=/usr/bin/dockerd                       # 启动命令:启动Docker守护进程
    ExecReload=/bin/kill -s HUP $MAINPID             # 重载命令:发送HUP信号重载守护进程
    LimitNOFILE=infinity                             # 无限制打开文件数
    LimitNPROC=infinity                              # 无限制进程数
    LimitCORE=infinity                               # 无限制核心文件大小
    TimeoutStartSec=0                                # 启动无超时限制
    Delegate=yes                                     # 子进程继承父进程控制组/资源限制
    KillMode=process                                 # 停止策略:仅向主进程发信号
    Restart=on-failure                               # 重启策略:仅服务失败时重启
    StartLimitBurst=2                                # 30秒内最多启动2次
    StartLimitInterval=30s
    
    [Install]
    WantedBy=multi-user.target                       # 依赖目标:多用户模式下启动
5. 设置服务文件权限与重载配置
    1. 调整服务文件权限:chmod a-x /etc/systemd/system/docker.service
      a-x含义:对所有用户移除执行权限,确保服务文件仅用于配置,不被直接执行)
    1. 重载systemd配置(使新服务生效):网页未明确写出systemctl daemon-reload,但此步骤为systemd服务配置后的必要操作(隐含在"重新加载配置文件"描述中)。
6. 启动Docker并验证状态
    1. 启动Docker服务:systemctl start docker
    1. 查看服务运行状态:systemctl status docker(需确保状态为"active (running)")
    1. 验证Docker版本与系统信息:执行docker info,关键输出如下:
    • Client/Server Version:27.0.3
    • 存储驱动:overlay2(基于xfs文件系统)
    • 操作系统:CentOS Linux 7 (Core)
    • 资源配置:2 CPU、3.683GiB内存
    • 初始状态:0个容器、0个镜像,Swarm模式未激活

二、核心说明

  • 安装方式:非官方yum仓库,而是通过静态源码包直接部署,适用于无网络或需指定版本的场景;
  • 服务管理:依赖systemd(Linux主流服务管理器),支持启动、停止、重载、开机自启(需额外执行systemctl enable docker);
  • 环境兼容性:文中示例基于CentOS 7(Kernel 3.10.0-957.el7.x86_64),x86_64架构,其他Linux发行版需调整源码包地址与依赖。