当前位置: 首页 > news >正文

在 CentOS 上完整安装 Docker 指南

在 CentOS 上完整安装 Docker 指南:从入门到避坑

前言

Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,从而实现快速交付和部署。本文将详细介绍在 CentOS 系统上安装 Docker 的完整步骤,并针对国内网络环境提供优化的解决方案。

先决条件

  • 一台运行 CentOS 7CentOS 8(或更高版本,如 CentOS Stream)的服务器或虚拟机。
  • 拥有 sudo 权限的用户账户。
  • 稳定的互联网连接。

方法一:使用国内镜像源安装(推荐方案)

这是最适合国内网络环境的安装方法,使用阿里云或清华大学镜像源,可以避免绝大多数网络超时和连接重置问题。

步骤 1: 卸载旧版本

如果系统上存在旧的 Docker 版本,请先卸载它们以确保环境干净。

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

步骤 2: 安装依赖工具

安装 yum-utils 包,它提供了 yum-config-manager 工具,用于管理 Yum 仓库。

sudo yum install -y yum-utils

步骤 3: 添加国内 Docker 镜像源

任选以下一个镜像源添加即可:

  • 阿里云镜像源(推荐):

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  • 清华大学镜像源:

    sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
    

步骤 4: 更新 Yum 缓存并安装 Docker

添加仓库后,更新缓存并从新仓库安装 Docker Engine(社区版)、CLI 和 Containerd。

# 更新 Yum 缓存
sudo yum makecache fast# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

步骤 5: 启动并设置开机自启

安装完成后,启动 Docker 服务并将其配置为在系统启动时自动运行。

# 启动 Docker 服务
sudo systemctl start docker# 设置开机自动启动
sudo systemctl enable docker

步骤 6: 验证安装

通过运行经典的 hello-world 镜像来验证 Docker 是否已正确安装和运行。

sudo docker run hello-world

如果看到 “Hello from Docker!” 的欢迎信息,则表示安装成功!


方法二:使用官方源安装(供参考)

如果您的网络可以顺畅访问国际网络,可以使用官方源进行安装。步骤与方法一类似,只需将第 3 步的仓库地址替换为官方地址:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

注意: 在国内网络环境下,此步骤很可能出现类似 [Errno 14] curl#35 - "TCP connection reset by peer" 的错误。如果遇到此错误,请直接切换至上述的方法一


安装后配置

1. 免 sudo 执行 Docker 命令(重要)

默认情况下,运行 Docker 命令需要 sudo 权限。为了避免每次输入 sudo,可以将您的用户加入 docker 用户组。

# 将当前用户添加到 docker 用户组
sudo usermod -aG docker $USER# 应用新的组权限(需要重新登录或重启系统才能生效)
newgrp docker

重要: 执行完上述命令后,您需要完全退出当前 SSH 会话并重新登录,或者直接重启系统,权限更改才会生效。之后您就可以直接运行 docker 命令了。

# 验证是否无需 sudo
docker run hello-world

2. 安装 Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。虽然上述命令可能已安装插件版,您也可以选择手动安装独立版本的 Compose。

从 GitHub 下载最新的稳定版本并安装:

# 下载 Docker Compose(请查看 GitHub Release 页面替换为最新版本号)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 授予可执行权限
sudo chmod +x /usr/local/bin/docker-compose# 验证安装
docker-compose --version
# 或使用插件版命令
docker compose version

常见问题与解决方案 (Q&A)

Q1: 执行命令时出现 [Errno 14] curl#35 - "TCP connection reset by peer" 错误怎么办?
A: 这是典型的网络连接问题。请放弃使用官方源,直接按照本文的方法一,切换至阿里云或清华大学的国内镜像源。

Q2: 添加了国内源但仍然很慢或出错?
A: 可以手动编辑 repo 文件,确保所有链接都已替换为国内地址。

sudo vi /etc/yum.repos.d/docker-ce.repo

检查并将文件中的 https://download.docker.com 全部替换为 http://mirrors.aliyun.com/docker-cehttps://mirrors.tuna.tsinghua.edu.cn/docker-ce

Q3: 如何查看 Docker 的版本和运行状态?
A:

# 查看 Docker 版本
docker --version# 查看 Docker 系统信息
docker info# 查看 Docker 服务状态
sudo systemctl status docker

Q4: 如何卸载 Docker?
A:

# 卸载 Docker 软件包
sudo yum remove docker-ce docker-ce-cli containerd.io# 删除镜像、容器、卷等资源文件(谨慎操作!会删除所有数据!)
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

总结

通过本文的指导,您应该已经成功在 CentOS 系统上安装了 Docker。总结一下关键点:

  1. 首选国内源:对于国内用户,使用阿里云或清华镜像源是安装成功的关键,能有效避免网络问题。
  2. 权限管理:记得将用户加入 docker 组,以便无需 sudo 即可运行命令。
  3. 验证安装:最后务必运行 docker run hello-world 来验证所有组件是否正常工作。

现在,您的 Docker 环境已经准备就绪,可以开始拉取镜像、运行容器,探索容器化技术的强大功能了!您可以尝试运行 docker pull nginxdocker run -d -p 80:80 nginx 来启动您的第一个 Nginx 容器。


文章转载自:

http://Cve6I4d1.rkfxc.cn
http://BOSFOuhd.rkfxc.cn
http://bmbtpCoo.rkfxc.cn
http://2ddRm9VY.rkfxc.cn
http://cGcrI10p.rkfxc.cn
http://qFQoGJg7.rkfxc.cn
http://GzY50bch.rkfxc.cn
http://n1Sed976.rkfxc.cn
http://BARpSZMr.rkfxc.cn
http://v09xpFI1.rkfxc.cn
http://4akmntHD.rkfxc.cn
http://xsdJnlMb.rkfxc.cn
http://sX8kNfJB.rkfxc.cn
http://MBjKfjrT.rkfxc.cn
http://i3ECJ6MR.rkfxc.cn
http://WwCtG4ZJ.rkfxc.cn
http://o5dYSYqP.rkfxc.cn
http://9OeUzh9o.rkfxc.cn
http://gjCnrvO8.rkfxc.cn
http://5TEhyjBG.rkfxc.cn
http://wUhj7FUO.rkfxc.cn
http://4riQE7c6.rkfxc.cn
http://INB8yarz.rkfxc.cn
http://dycTnYmy.rkfxc.cn
http://iW3ZJWSd.rkfxc.cn
http://RuxBZndY.rkfxc.cn
http://yYQ8H8eE.rkfxc.cn
http://4AmWkWTU.rkfxc.cn
http://hlI1yELT.rkfxc.cn
http://bFfUsPmb.rkfxc.cn
http://www.dtcms.com/a/369663.html

相关文章:

  • 详解人造卫星遭遇的地球反射光与月球反射光
  • NAF、INRAS、NACF论文解读
  • 【Linux】系统部分——进程间通信1(管道)
  • 从策略到实效|Adobe Target 实战应用与成功案例
  • 连锁门店可用性监测和进程监测最佳实践
  • 残差网络ResNet
  • 人工智能之数学基础:逻辑回归算法的概率密度函数与分布函数
  • Pinia 两种写法全解析:Options Store vs Setup Store(含实践与场景对比)
  • MySQL抛出的Public Key Retrieval is not allowed
  • 贵州移动创维E900V22F-S905L3SB-全分区备份
  • HarmonyOSAI编程自然语言代码生成
  • 系统性学习数据结构-第三讲-栈和队列
  • 远程协作下的项目失控:不是信任危机,而是感知缺失
  • 从零打造商业级LLMOps平台:开源项目LMForge详解,助力多模型AI Agent开发!
  • 【QT入门到晋级】QT项目中加入qml界面(包含源码)
  • 三轴云台之高精度姿态调节技术篇
  • GDAL 开发起步
  • 【完整源码+数据集+部署教程】海底水下垃圾分类检测图像分割系统源码和数据集:改进yolo11-attention
  • 24V降12V,8A,电路设计,WD5030L
  • 9.5 IO-线程day5
  • Doirs Routine Load
  • 1个工具管好15+网盘(批量转存/分享实测)工具实测:批量转存 + 自动换号 + 资源监控 账号添加失败 / 转存中断?这样解决(含功能详解)
  • 【Kubernetes】知识点总结5
  • 源滚滚AI编程SillyTavern酒馆配置Claude Code API教程
  • 数控机床中,进行前瞻速度规划时,根据几何约束限制计算的拐角过渡速度
  • OpenBMC之编译加速篇
  • Maya绑定:台灯绑定详细步骤
  • 华为网路设备学习-32(BGP协议 七)路由反射器与联邦
  • 【建图+dsf/最长上升子序列dp】【记录最优解路径】P2196 [NOIP 1996 提高组] 挖地雷
  • 行业了解04:医疗健康行业