CentOS 8 安装 Docker 超详细教程

CentOS 8 安装 Docker 超详细教程

适用于 CentOS 8 / CentOS Stream 8,从零开始直到运行第一个容器。


一、准备工作

1. 检查系统版本

bash 复制代码
cat /etc/redhat-release

看到 CentOS Linux release 8.5.2111 或 CentOS Stream release 8 即可继续。

2. 卸载旧版本 Docker

避免残留导致冲突:

bash 复制代码
yum remove -y docker \
  docker-client \
  docker-client-latest \
  docker-common \
  docker-latest \
  docker-latest-logrotate \
  docker-logrotate \
  docker-engine

3. 安装必要依赖

bash 复制代码
yum install -y yum-utils device-mapper-persistent-data lvm2

4. 配置 Docker 软件源

根据网络情况二选一:

  • 官方源(海外)
bash 复制代码
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 阿里云镜像源(国内推荐)
bash 复制代码
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5. 更新缓存

bash 复制代码
yum makecache

二、安装 Docker

安装最新版本

bash 复制代码
yum install -y docker-ce docker-ce-cli containerd.io

安装指定版本(可选)

先查看所有版本:

bash 复制代码
yum list docker-ce --showduplicates | sort -r

再按需安装,例如 24.0.7:

bash 复制代码
yum install -y docker-ce-24.0.7 docker-ce-cli-24.0.7 containerd.io

三、启动并验证

1. 启动并设置开机自启

bash 复制代码
systemctl start docker
systemctl enable docker

2. 检查状态

bash 复制代码
systemctl status docker   # 看到 active (running) 即成功
docker -v                  # 查看版本号

至此,Docker 已成功运行。


四、必做配置优化

1. 配置国内镜像加速(强烈推荐)

bash 复制代码
mkdir -p /etc/docker
vim /etc/docker/daemon.json

写入:

json 复制代码
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://dockerproxy.com",
    "https://docker.1panel.live"
  ]
}

重新加载并重启:

bash 复制代码
systemctl daemon-reload
systemctl restart docker

验证加速生效:

bash 复制代码
docker info   # 输出中应有 Registry Mirrors

2. 允许非 root 用户执行 Docker 命令

bash 复制代码
groupadd docker                # 通常已存在
usermod -aG docker $USER      # 将当前用户加入 docker 组
newgrp docker                 # 刷新当前终端权限

退出重新登录后,docker ps 不再需要 sudo。

3. 开放防火墙端口(按需)

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

bash 复制代码
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

五、常用命令与运行示例

常用速查表

操作 命令
查看版本 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

运行一个 nginx 试试

bash 复制代码
docker pull nginx
docker run -d -p 80:80 nginx

浏览器访问 http://你的服务器IP 即可看到 nginx 欢迎页。


六、Docker运行原理


推荐资源

相关推荐
wefg1几秒前
【Docker】镜像相关指令
运维·docker·容器
java_logo1 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
死磕音视频1 小时前
Open WebUI 入门:用 Docker 装上本地对话界面并连接 Ollama
docker·ollama·本地大模型·open webui
分布式存储与RustFS1 小时前
CI 老被 Docker Hub 的 429 卡住,自建 Registry 把镜像搬进内网
运维·docker·开源·镜像仓库·对象存储·ci·rustfs
NiceZack2 小时前
Hadoop 部署全流程教程:从新装 CentOS 到伪分布式与完全分布式
hadoop·分布式·centos
n112122 小时前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
慈云数据3 小时前
用 DSH 辅助部署一个网站监控平台:Uptime Kuma + Docker 实战
运维·docker·容器
螺蛳粉 螺蛳粉3 小时前
第 03 篇:为什么 K8s 的最小调度单元是 Pod 而不是容器:pause 容器与边车模式(底座认知 03)
docker·云原生·容器·kubernetes·etcd·运维排障·kube-apiserver
杨浦老苏1 天前
把项目管理搬回自己服务器:Windshift部署与避坑
docker·项目管理·群晖
木雷坞1 天前
Baserow Docker部署:导入设备借用CSV,再用表单新增登记
运维·docker·容器