CentOS7.9 下 Docker 的安装与配置
CentOS7.9 下 Docker 的安装与配置
-
- 1. 前言
- 2. 环境准备
-
- 2.1 检查系统内核版本
- 2.2 系统架构图
- 3. 卸载旧版本(如适用)
- 4. 安装依赖包
- 5. 设置 Docker 仓库
-
- 5.1 添加 Docker 官方仓库(国内推荐使用镜像源)
- 5.2 仓库配置流程图
- 6. 安装 Docker 引擎
-
- 6.1 安装最新版本 Docker
- 6.2 安装指定版本 Docker
- 7. 启动 Docker 并设置开机自启
-
- 7.1 启动 Docker 服务
- 7.2 设置开机自启
- 7.3 验证 Docker 状态
- 8. Docker 服务管理常用命令
- 9. 配置镜像加速器(国内用户建议配置)
- 10. 验证安装
- 11. 常见问题解决
-
- 11.1 权限问题
- 11.2 防火墙问题
- 12. 总结
1. 前言
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。本文将详细介绍在 CentOS 系统上安装 Docker 的完整步骤。
2. 环境准备
2.1 检查系统内核版本
Docker 要求 CentOS 系统的内核版本高于 3.10,首先检查你的内核版本:
uname -r
输出示例:
2.2 系统架构图
#mermaid-svg-uG2UPHASWAExAUOd {font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-uG2UPHASWAExAUOd .error-icon{fill:#552222;}#mermaid-svg-uG2UPHASWAExAUOd .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-uG2UPHASWAExAUOd .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-uG2UPHASWAExAUOd .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-uG2UPHASWAExAUOd .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-uG2UPHASWAExAUOd .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-uG2UPHASWAExAUOd .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-uG2UPHASWAExAUOd .marker{fill:#333333;stroke:#333333;}#mermaid-svg-uG2UPHASWAExAUOd .marker.cross{stroke:#333333;}#mermaid-svg-uG2UPHASWAExAUOd svg{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-uG2UPHASWAExAUOd .label{font-family:\"trebuchet ms\",verdana,arial,sans-serif;color:#333;}#mermaid-svg-uG2UPHASWAExAUOd .cluster-label text{fill:#333;}#mermaid-svg-uG2UPHASWAExAUOd .cluster-label span{color:#333;}#mermaid-svg-uG2UPHASWAExAUOd .label text,#mermaid-svg-uG2UPHASWAExAUOd span{fill:#333;color:#333;}#mermaid-svg-uG2UPHASWAExAUOd .node rect,#mermaid-svg-uG2UPHASWAExAUOd .node circle,#mermaid-svg-uG2UPHASWAExAUOd .node ellipse,#mermaid-svg-uG2UPHASWAExAUOd .node polygon,#mermaid-svg-uG2UPHASWAExAUOd .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-uG2UPHASWAExAUOd .node .label{text-align:center;}#mermaid-svg-uG2UPHASWAExAUOd .node.clickable{cursor:pointer;}#mermaid-svg-uG2UPHASWAExAUOd .arrowheadPath{fill:#333333;}#mermaid-svg-uG2UPHASWAExAUOd .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-uG2UPHASWAExAUOd .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-uG2UPHASWAExAUOd .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-uG2UPHASWAExAUOd .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-uG2UPHASWAExAUOd .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-uG2UPHASWAExAUOd .cluster text{fill:#333;}#mermaid-svg-uG2UPHASWAExAUOd .cluster span{color:#333;}#mermaid-svg-uG2UPHASWAExAUOd div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-uG2UPHASWAExAUOd :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;} CentOS系统 内核版本大于3.10 安装依赖包 设置Docker仓库 安装Docker引擎 启动Docker服务
3. 卸载旧版本(如适用)
如果你之前安装过旧版本的 Docker,需要先卸载它们:
sudo yum remove docker \\ docker-client \\ docker-client-latest \\ docker-common \\ docker-latest \\ docker-latest-logrotate \\ docker-logrotate \\ docker-engine
4. 安装依赖包
在设置 Docker 仓库之前,需要安装一些必要的软件包:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
这些软件包的作用:
yum-utils
:提供了 yum-config-manager 工具device-mapper-persistent-data
和lvm2
:是 devicemapper 存储驱动所需的
5. 设置 Docker 仓库
5.1 添加 Docker 官方仓库(国内推荐使用镜像源)
# 官方源(不推荐国内使用)# sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo# 中科大镜像源sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/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
5.2 仓库配置流程图
#mermaid-svg-q2QOMw3t2k2V0MwI {font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-q2QOMw3t2k2V0MwI .error-icon{fill:#552222;}#mermaid-svg-q2QOMw3t2k2V0MwI .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-q2QOMw3t2k2V0MwI .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-q2QOMw3t2k2V0MwI .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-q2QOMw3t2k2V0MwI .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-q2QOMw3t2k2V0MwI .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-q2QOMw3t2k2V0MwI .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-q2QOMw3t2k2V0MwI .marker{fill:#333333;stroke:#333333;}#mermaid-svg-q2QOMw3t2k2V0MwI .marker.cross{stroke:#333333;}#mermaid-svg-q2QOMw3t2k2V0MwI svg{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-q2QOMw3t2k2V0MwI .label{font-family:\"trebuchet ms\",verdana,arial,sans-serif;color:#333;}#mermaid-svg-q2QOMw3t2k2V0MwI .cluster-label text{fill:#333;}#mermaid-svg-q2QOMw3t2k2V0MwI .cluster-label span{color:#333;}#mermaid-svg-q2QOMw3t2k2V0MwI .label text,#mermaid-svg-q2QOMw3t2k2V0MwI span{fill:#333;color:#333;}#mermaid-svg-q2QOMw3t2k2V0MwI .node rect,#mermaid-svg-q2QOMw3t2k2V0MwI .node circle,#mermaid-svg-q2QOMw3t2k2V0MwI .node ellipse,#mermaid-svg-q2QOMw3t2k2V0MwI .node polygon,#mermaid-svg-q2QOMw3t2k2V0MwI .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-q2QOMw3t2k2V0MwI .node .label{text-align:center;}#mermaid-svg-q2QOMw3t2k2V0MwI .node.clickable{cursor:pointer;}#mermaid-svg-q2QOMw3t2k2V0MwI .arrowheadPath{fill:#333333;}#mermaid-svg-q2QOMw3t2k2V0MwI .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-q2QOMw3t2k2V0MwI .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-q2QOMw3t2k2V0MwI .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-q2QOMw3t2k2V0MwI .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-q2QOMw3t2k2V0MwI .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-q2QOMw3t2k2V0MwI .cluster text{fill:#333;}#mermaid-svg-q2QOMw3t2k2V0MwI .cluster span{color:#333;}#mermaid-svg-q2QOMw3t2k2V0MwI div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-q2QOMw3t2k2V0MwI :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;} 选择镜像源 官方源 中科大源 清华源 速度可能较慢 国内推荐
6. 安装 Docker 引擎
6.1 安装最新版本 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
各组件说明:
docker-ce
:Docker 社区版docker-ce-cli
:Docker 命令行工具containerd.io
:容器运行时
6.2 安装指定版本 Docker
如果需要安装特定版本,可以先列出可用版本:
yum list docker-ce --showduplicates | sort -r
然后选择特定版本安装:
sudo yum install -y docker-ce-20.10.24 docker-ce-cli-20.10.24 containerd.io
7. 启动 Docker 并设置开机自启
7.1 启动 Docker 服务
sudo systemctl start docker
7.2 设置开机自启
sudo systemctl enable docker
7.3 验证 Docker 状态
sudo systemctl status docker
正常输出应显示 “active (running)”。
8. Docker 服务管理常用命令
sudo systemctl start docker
sudo systemctl stop docker
sudo systemctl restart docker
sudo systemctl status docker
sudo systemctl enable docker
sudo systemctl disable docker
9. 配置镜像加速器(国内用户建议配置)
为了提升镜像拉取速度,建议配置国内镜像加速器(轩辕镜像免费版):
- 创建或修改
/etc/docker/daemon.json
文件:
sudo tee /etc/docker/daemon.json <<-\'EOF\'{ \"registry-mirrors\": [ \"https://docker.xuanyuan.me\" ]}EOF
- 重新启动服务:
sudo systemctl daemon-reloadsudo systemctl restart docker
10. 验证安装
运行 hello-world 镜像来验证 Docker 是否正确安装:
sudo docker run hello-world
成功输出应包含以下信息:
Hello from Docker!This message shows that your installation appears to be working correctly.
11. 常见问题解决
11.1 权限问题
如果遇到权限拒绝错误,可以将当前用户加入 docker 组:
sudo usermod -aG docker $USER
然后退出当前会话重新登录。
11.2 防火墙问题
如果防火墙开启,需要放行 Docker 相关端口:
sudo firewall-cmd --permanent --zone=public --add-port=2375-2377/tcpsudo firewall-cmd --permanent --zone=public --add-port=7946/tcpsudo firewall-cmd --permanent --zone=public --add-port=7946/udpsudo firewall-cmd --permanent --zone=public --add-port=4789/udpsudo firewall-cmd --reload
12. 总结
通过以上步骤,我们已经在 CentOS 系统上成功安装并配置了 Docker。Docker 的安装流程可以总结为:
#mermaid-svg-aAglmu7UxnbUE5SV {font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-aAglmu7UxnbUE5SV .error-icon{fill:#552222;}#mermaid-svg-aAglmu7UxnbUE5SV .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-aAglmu7UxnbUE5SV .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-aAglmu7UxnbUE5SV .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-aAglmu7UxnbUE5SV .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-aAglmu7UxnbUE5SV .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-aAglmu7UxnbUE5SV .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-aAglmu7UxnbUE5SV .marker{fill:#333333;stroke:#333333;}#mermaid-svg-aAglmu7UxnbUE5SV .marker.cross{stroke:#333333;}#mermaid-svg-aAglmu7UxnbUE5SV svg{font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-aAglmu7UxnbUE5SV .label{font-family:\"trebuchet ms\",verdana,arial,sans-serif;color:#333;}#mermaid-svg-aAglmu7UxnbUE5SV .cluster-label text{fill:#333;}#mermaid-svg-aAglmu7UxnbUE5SV .cluster-label span{color:#333;}#mermaid-svg-aAglmu7UxnbUE5SV .label text,#mermaid-svg-aAglmu7UxnbUE5SV span{fill:#333;color:#333;}#mermaid-svg-aAglmu7UxnbUE5SV .node rect,#mermaid-svg-aAglmu7UxnbUE5SV .node circle,#mermaid-svg-aAglmu7UxnbUE5SV .node ellipse,#mermaid-svg-aAglmu7UxnbUE5SV .node polygon,#mermaid-svg-aAglmu7UxnbUE5SV .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-aAglmu7UxnbUE5SV .node .label{text-align:center;}#mermaid-svg-aAglmu7UxnbUE5SV .node.clickable{cursor:pointer;}#mermaid-svg-aAglmu7UxnbUE5SV .arrowheadPath{fill:#333333;}#mermaid-svg-aAglmu7UxnbUE5SV .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-aAglmu7UxnbUE5SV .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-aAglmu7UxnbUE5SV .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-aAglmu7UxnbUE5SV .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-aAglmu7UxnbUE5SV .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-aAglmu7UxnbUE5SV .cluster text{fill:#333;}#mermaid-svg-aAglmu7UxnbUE5SV .cluster span{color:#333;}#mermaid-svg-aAglmu7UxnbUE5SV div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\"trebuchet ms\",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-aAglmu7UxnbUE5SV :root{--mermaid-font-family:\"trebuchet ms\",verdana,arial,sans-serif;} 检查内核版本 卸载旧版本 安装依赖包 设置仓库源 安装Docker引擎 启动服务 验证安装 配置镜像加速
现在你可以开始使用 Docker 来容器化你的应用了!Docker 提供了强大的容器管理能力,可以帮助你实现应用的快速部署和环境一致性。