CentOS与Docker如何兼容
导读:CentOS 与 Docker 的兼容性实践指南 一 支持范围与系统要求 支持的主流版本为 CentOS 7/8(x86_64),需 64 位系统。Docker 对内核有硬性要求:建议 Linux 内核 ≥ 3.10;在 CentOS 7...
CentOS 与 Docker 的兼容性实践指南
一 支持范围与系统要求
- 支持的主流版本为 CentOS 7/8(x86_64),需 64 位系统。Docker 对内核有硬性要求:建议 Linux 内核 ≥ 3.10;在 CentOS 7 上常见默认内核为 3.x,通常可运行,但为获得更好的稳定性与特性(如更好的 overlay2 支持),建议升级至 4.x 内核。生产环境优先选用固定稳定版 Docker,避免频繁升级带来不确定性。
二 标准安装步骤(在线)
- 卸载旧版本(如有):
sudo yum remove -y docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine - 安装依赖:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 - 添加仓库(官方或国内镜像源):
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 Engine(可指定版本):
sudo yum install -y docker-ce docker-ce-cli containerd.io查看可安装版本:yum list docker-ce --showduplicates | sort -r
安装指定版本:sudo yum install -y docker-ce-< VERSION_STRING> docker-ce-cli-< VERSION_STRING> containerd.io
- 启动并设为开机自启:
sudo systemctl start docker & & sudo systemctl enable docker - 验证:
docker version
sudo docker run --rm hello-world
三 兼容性与稳定性配置
- 存储驱动:优先使用 overlay2(性能与稳定性更佳)。在 /etc/docker/daemon.json 中设置:
{ “storage-driver”: “overlay2” } - 镜像加速(国内环境强烈建议):
{ “registry-mirrors”: [ “https://< YOUR_MIRROR_URL> ”, “https://mirror.baidubce.com” ] }
修改后执行:sudo systemctl daemon-reload & & sudo systemctl restart docker - 代理配置(如存在企业代理):
- 守护进程级:在 /etc/systemd/system/docker.service.d/http-proxy.conf 中添加
[Service]
Environment=“HTTP_PROXY=http://proxy.example.com:8080”
Environment=“HTTPS_PROXY=http://proxy.example.com:8080”
Environment=“NO_PROXY=localhost,127.0.0.1,.example.com”
然后:sudo systemctl daemon-reload & & sudo systemctl restart docker
- 守护进程级:在 /etc/systemd/system/docker.service.d/http-proxy.conf 中添加
- SELinux 与防火墙:
- 挂载目录权限问题可临时使用容器运行参数 –privileged(不推荐长期),更优做法是按需配置 SELinux 布尔值或上下文;
- 与 firewalld/iptables 的端口放行与转发需按实际网络策略配置,避免粗暴关闭防火墙。
四 常见问题与快速排查
- 服务无法启动:
- 查看状态:systemctl status docker
- 查看日志:journalctl -u docker --no-pager -n 100
- 常见原因:存储驱动不兼容、配置错误、端口冲突、代理不可达等,按日志逐项修复后重启服务。
- 内核或性能问题:
- 在 CentOS 7 上若遇到异常或性能不佳,优先升级至 4.x 内核并启用 overlay2。
- 版本选择与回退:
- 如遇兼容性问题,使用 yum 列出可用版本并回退到已验证的稳定版本:
yum list docker-ce --showduplicates | sort -r
sudo yum install -y docker-ce-< VERSION_STRING> docker-ce-cli-< VERSION_STRING> containerd.io
- 如遇兼容性问题,使用 yum 列出可用版本并回退到已验证的稳定版本:
- 离线环境:
- 在一台可联网机器下载 docker-ce/containerd.io 等 RPM 包及依赖,拷贝至目标机后执行:
sudo yum localinstall -y /path/to/*.rpm
然后启动服务并验证。
- 在一台可联网机器下载 docker-ce/containerd.io 等 RPM 包及依赖,拷贝至目标机后执行:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS与Docker如何兼容
本文地址: https://pptw.com/jishu/774322.html
