很长时间以来安装docker的环境都是借助于kejilion的脚本。

今天想着折腾一下Racknerd几年前买来主要作为节点抓取数据的Centos 7的机器,想着给他安装一个PHP+MySQL的环境,本来想偷懒使用kejilion脚本的容器建站功能来迂回搞定,结果试了几次都不行。于是继续打开deepseek,问他咋搞定。

以下是他的回答。其实在他的回答之前,我们还需要解决一个很重要的问题,就是centos7压根就无法使用官方源来做任何事情了,这里首先要解决的实际上是切换源。目前经过测试阿里云的源依然可以用。在海外很简单直接执行:

bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh)

Centos7修改源为阿里云

在 CentOS 7 上安装最新版 Docker 的步骤很直接,主要是通过配置官方或国内的软件仓库来安装。下面我为你整理了详细的安装流程和常见问题处理方法。

🔧 安装步骤

以下是安装 Docker CE(社区版)的核心步骤,适用于 CentOS 7 64位系统(内核版本需为3.10或更高)。

  1. 卸载旧版本(如已安装)
    如果系统上存在旧版本的 Docker(可能叫 dockerdocker-engine),请先执行以下命令卸载它们:

    sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  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
    • 国内镜像源(推荐,以阿里云为例,提升下载速度):

      sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  4. 安装 Docker CE
    更新 YUM 软件包索引并安装最新版本的 Docker CE 及相关组件:

    sudo yum install docker-ce docker-ce-cli containerd.io

    如果安装过程中提示确认,输入 y 并按回车即可。

  5. 启动 Docker 并设置开机自启

    sudo systemctl start docker    # 启动Docker服务
    sudo systemctl enable docker   # 设置开机自动启动
  6. 验证安装
    运行经典的 hello-world 镜像来测试 Docker 是否安装并正常运行:

    sudo docker run hello-world

    如果看到 "Hello from Docker!" 等提示信息,说明安装成功。

💡 安装后的基本配置

  • 配置国内镜像加速器:为了后续拉取 Docker 镜像时获得更快的速度,建议配置国内镜像源。

    1. 创建或编辑 Docker 的守护进程配置文件 /etc/docker/daemon.json

      sudo vim /etc/docker/daemon.json
    2. 在文件中添加镜像加速器地址(以阿里云为例,你需要替换成自己从服务商处获取的地址):

      {
        "registry-mirrors": ["https://your-mirror-id.mirror.aliyuncs.com"]
      }
    3. 保存退出后,重新加载配置并重启 Docker:

      sudo systemctl daemon-reload
      sudo systemctl restart docker
  • 管理用户权限(可选):默认情况下,执行 Docker 命令需要 sudo 权限。如果希望非 root 用户也能直接运行 Docker 命令,可以将该用户加入 docker 用户组:

    sudo usermod -aG docker $USER  # 将当前用户加入 docker 组

    注意:执行此操作后,需要重新登录系统才能使组权限更改生效。

🚨 常见问题处理

  • 安装依赖包失败:确保系统已更新到最新状态,可以尝试先执行 sudo yum update -y
  • 安装 Docker CE 时出现依赖冲突:可以尝试在安装命令后加上 --allowerasing 参数来替换冲突的软件包,例如:

    sudo yum install --allowerasing docker-ce docker-ce-cli containerd.io
  • 防火墙问题:如果 CentOS 启用了防火墙(firewalld),并且 Docker 容器需要对外暴露特定端口,记得使用 firewall-cmd 命令开放相应端口。

希望以上步骤能帮助你在 CentOS 7 上顺利安装 Docker。如果在安装过程中遇到其他具体问题,比如有关于存储驱动或者网络配置的疑问,可以随时再来提问。

标签: Deepseek

评论已关闭