温馨提示×

如何在Linux系统中安装Docker

小樊
31
2025-12-16 05:35:17
栏目: 智能运维

在 Linux 上安装 Docker 的完整步骤

一 准备与系统要求

  • 建议使用 Ubuntu 16.04+/Debian 9+/CentOS 7+/Rocky Linux 等主流发行版,内核版本 ≥ 3.10,并以具备 sudo 权限的账户操作。
  • 如曾安装旧版 Docker(如 docker、docker-engine、docker.io 等),先卸载避免冲突。
  • 可选:为提升国内拉取速度,后续可配置镜像加速器。

二 在 Ubuntu 或 Debian 上安装

  • 卸载旧版本(如有):
    • sudo apt-get remove -y docker docker-engine docker.io containerd runc
  • 安装依赖并添加 Docker 官方仓库(使用 GPG 密钥环方式):
    • sudo apt-get update && sudo apt-get install -y ca-certificates curl gnupg
    • sudo install -m 0755 -d /etc/apt/keyrings
    • curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.asc
    • echo “deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo “${UBUNTU_CODENAME:-$VERSION_CODENAME}”) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • 安装 Docker 引擎与插件:
    • sudo apt-get update
    • sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • 启动与开机自启:
    • sudo systemctl start docker
    • sudo systemctl enable docker

三 在 CentOS 或 Rocky Linux 上安装

  • 卸载旧版本(如有):
    • sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
  • 安装依赖并添加仓库:
    • sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    • sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 安装 Docker 引擎:
    • sudo yum install -y docker-ce docker-ce-cli containerd.io
  • 启动与开机自启:
    • sudo systemctl start docker
    • sudo systemctl enable docker

四 验证安装与常用配置

  • 验证安装:
    • docker --version
    • sudo docker run --rm hello-world(看到 “Hello from Docker!” 表示成功)
  • 免 sudo 使用 Docker(将当前用户加入 docker 组,注意安全):
    • sudo usermod -aG docker $USER
    • newgrp docker 或重新登录终端
  • 配置国内镜像加速器(可选,提升拉取速度):
    • sudo mkdir -p /etc/docker
    • sudo tee /etc/docker/daemon.json <<-‘EOF’ { “registry-mirrors”: [ “https://.mirror.aliyuncs.com”, “https://docker.mirrors.ustc.edu.cn”, “https://hub-mirror.c.163.com” ] } EOF
    • sudo systemctl daemon-reload && sudo systemctl restart docker
  • 常用服务管理:
    • 查看状态:sudo systemctl status docker
    • 停止/重启:sudo systemctl stop|restart docker

五 常见问题排查与卸载

  • 服务无法启动或异常:
    • 查看日志:journalctl -u docker.service
    • 重启服务:sudo systemctl restart docker
  • 镜像拉取缓慢或失败:
    • 检查网络与 /etc/docker/daemon.json 中镜像源配置是否正确,必要时更换或组合多个镜像源
  • 卸载 Docker(按需执行):
    • Ubuntu/Debian:
      • sudo apt-get purge -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      • sudo rm -rf /var/lib/docker /var/lib/containerd
    • CentOS/RHEL:
      • sudo yum remove -y docker-ce docker-ce-cli containerd.io
      • sudo rm -rf /var/lib/docker

0