乐于分享
好东西不私藏

CentOS 安装 Docker 保姆级教程(内含一键安装脚本)

CentOS 安装 Docker 保姆级教程(内含一键安装脚本)
前言

CentOS 7 开始已于 2024 年 6 月 30 日停止官方维护,官方 yum 源已不可用。因此,安装 Docker 之前必须先更换国内 yum 源
一、更换 YUM 源为国内源(阿里云)
1.1 备份原有 YUM 源配置
cd /etc/yum.repos.d/mkdir backupmv *.repo backup/

1.2 下载阿里云 CentOS YUM 源(CentOS 8)

curl -/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

1.3 清理并生成新缓存

yum clean allyum makecache

1.4 验证源是否切换成功

yum repolist

二、卸载旧版本 Docker

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

三、安装必要依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

四、配置 Docker 软件源(国内源)

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

五、更新 YUM 缓存

sudo yum makecache

六、安装 Docker

6.1 查看可用版本(推荐)

yum list docker-ce --showduplicates | sort -r

6.2 安装指定稳定版本(26.1.3)

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

也可以直接通过以下命令安装最新版本

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

七、启动并验证

7.1 启动 Docker 服务

sudo systemctl start docker

7.2 查看 Docker 运行状态(核心截图)

sudo systemctl status docker

7.3 查看版本

docker -v

7.4 运行 Hello World 验证

sudo docker run hello-world

八、设置开机自启

sudo systemctl enable dockersudo systemctl is-enabled docker   # 验证,应输出 enabled

九、必做配置优化

9.1 配置国内镜像加速器(核心配置)

sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{  "registry-mirrors": [    "https://docker.m.daocloud.io",    "https://docker.1panel.live"  ]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker

验证加速是否生效:

docker info | grep -A 5 "Registry Mirrors"

9.2 允许普通用户执行 Docker(可选)

sudo groupadd dockersudo usermod -aG docker $USER

9.3. 开放防火墙端口(可选)

容器需要对外服务时执行,例如:

firewall-cmd --permanent --add-port=80/tcpfirewall-cmd --permanent --add-port=8080/tcpfirewall-cmd --reload

十、常用命令与运行示例:部署 Nginx

10.1. 运行示例:部署Nginx

# 拉取 Nginx 镜像docker pull nginx:latest# 后台运行 Nginx 容器,映射 80 端口docker run -d --name mynginx -p 80:80 nginx# 查看容器状态docker ps# 访问测试curl http://localhost:80

10.2. 常用命令

操作
命令
查看版本
docker version
查看本地镜像
docker images
查看运行中容器
docker ps
查看所有容器
docker ps -a
拉取镜像
docker pull nginx
运行容器
docker run -d -p 80:80 nginx
停止容器
docker stop 容器ID
删除容器
docker rm 容器ID
删除镜像
docker rmi 镜像ID

附录:一键安装脚本

#!/bin/bash# CentOS 7 Docker 一键安装脚本# 1. 更换 YUM 源cd /etc/yum.repos.d/mkdir -p backupmv *.repo backup/ 2>/dev/nullcurl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repoyum clean all && yum makecache# 2. 卸载旧版 Dockeryum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine docker-selinux 2>/dev/null# 3. 安装依赖yum install -y yum-utils device-mapper-persistent-data lvm2# 4. 配置 Docker 源yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum makecache# 5. 安装 Docker 26.1.3yum install -y docker-ce-26.1.3 docker-ce-cli-26.1.3 containerd.io# 6. 启动并设置开机自启systemctl start dockersystemctl enable docker# 7. 配置镜像加速mkdir -p /etc/dockercat > /etc/docker/daemon.json <<-'EOF'{  "registry-mirrors": [    "https://docker.m.daocloud.io",    "https://docker.1panel.live"  ]}EOFsystemctl daemon-reloadsystemctl restart docker# 8. 验证docker -vdocker run hello-worldecho "Docker 安装完成!"

执行 ./install_docker.sh 后可实现自动安装docker


关注公众号【攻城狮学习营】获取更多干货内容