Centos 7 安装 Docker 和 Docker Compose
很长时间以来安装docker的环境都是借助于kejilion的脚本。
今天想着折腾一下Racknerd几年前买来主要作为节点抓取数据的Centos 7的机器,想着给他安装一个PHP+MySQL的环境,本来想偷懒使用kejilion脚本的容器建站功能来迂回搞定,结果试了几次都不行。于是继续打开deepseek,问他咋搞定。
以下是他的回答。其实在他的回答之前,我们还需要解决一个很重要的问题,就是centos7压根就无法使用官方源来做任何事情了,这里首先要解决的实际上是切换源。目前经过测试阿里云的源依然可以用。在海外很简单直接执行:
bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh)

在 CentOS 7 上安装最新版 Docker 的步骤很直接,主要是通过配置官方或国内的软件仓库来安装。下面我为你整理了详细的安装流程和常见问题处理方法。
🔧 安装步骤
以下是安装 Docker CE(社区版)的核心步骤,适用于 CentOS 7 64位系统(内核版本需为3.10或更高)。
卸载旧版本(如已安装)
如果系统上存在旧版本的 Docker(可能叫docker或docker-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安装依赖工具
执行以下命令来安装一些必要的系统工具:sudo yum install -y yum-utils device-mapper-persistent-data lvm2配置 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
安装 Docker CE
更新 YUM 软件包索引并安装最新版本的 Docker CE 及相关组件:sudo yum install docker-ce docker-ce-cli containerd.io如果安装过程中提示确认,输入
y并按回车即可。启动 Docker 并设置开机自启
sudo systemctl start docker # 启动Docker服务 sudo systemctl enable docker # 设置开机自动启动验证安装
运行经典的hello-world镜像来测试 Docker 是否安装并正常运行:sudo docker run hello-world如果看到 "Hello from Docker!" 等提示信息,说明安装成功。
💡 安装后的基本配置
配置国内镜像加速器:为了后续拉取 Docker 镜像时获得更快的速度,建议配置国内镜像源。
创建或编辑 Docker 的守护进程配置文件
/etc/docker/daemon.json:sudo vim /etc/docker/daemon.json在文件中添加镜像加速器地址(以阿里云为例,你需要替换成自己从服务商处获取的地址):
{ "registry-mirrors": ["https://your-mirror-id.mirror.aliyuncs.com"] }保存退出后,重新加载配置并重启 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。如果在安装过程中遇到其他具体问题,比如有关于存储驱动或者网络配置的疑问,可以随时再来提问。
评论已关闭