rhel 9企业级docker部署需卸载podman等冲突组件、启用官方仓库安装lts版(如24.0.6)、配置tls加密与selinux策略、集成siem日志审计及镜像签名信任链,确保合规稳定。
在 redhat 系统中完成 docker engine 的企业级部署,核心不是“装上就行”,而是兼顾稳定性、安全性、可维护性与合规性。rhel 9 是当前主流生产环境首选,其原生支持 systemd、selinux、podman 共存机制,因此部署必须尊重系统设计逻辑,避免粗暴覆盖或绕过安全策略。
确认系统合规性与前置清理
企业环境严禁混用容器运行时。RHEL 默认预装 Podman(符合 Open Container Initiative 标准),而 Docker Engine 与其存在二进制、socket、cgroup 管理层冲突:
- 卸载所有冲突组件:执行
yum remove podman buildah skopeo runc -y,避免服务端口(如/run/podman/podman.sock)和 cgroup v2 配置冲突; - 检查内核版本:RHEL 9.2+ 内核 ≥ 5.14,已原生支持 overlay2 存储驱动,无需手动启用 aufs 或 devicemapper;
- 禁用 firewalld 的默认 zone 干预(若使用自定义网络):运行
firewall-cmd --permanent --zone=trusted --add-interface=docker0并重载,避免容器间通信被拦截。
使用官方仓库安装稳定版 Docker Engine
RHEL 9 不推荐使用 docker-io(已废弃)或第三方 RPM 包。应通过 Docker 官方 RHEL 仓库安装受支持的长期稳定版(LTS):
- 启用 EPEL(必要依赖源):
dnf install -y epel-release; - 添加 Docker 官方仓库:
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo; - 国内用户建议替换为阿里云镜像加速:
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+g' /etc/yum.repos.d/docker-ce.repo; - 安装指定 LTS 版本(如 24.0.6,经 Red Hat 兼容性认证):
dnf install -y docker-ce-24.0.6 docker-ce-cli-24.0.6 containerd.io; - 验证版本签名:
rpm -q --verify docker-ce确保未被篡改。
加固配置与生产就绪启动
默认配置不满足等保/ISO27001 要求,需显式配置关键项:
- 编辑
/etc/docker/daemon.json,启用强制 TLS 和日志轮转:{<br> "tls": true,<br> "tlscacert": "/etc/docker/certs/ca.pem",<br> "tlskey": "/etc/docker/certs/key.pem",<br> "tlscert": "/etc/docker/certs/cert.pem",<br> "log-driver": "json-file",<br> "log-opts": {"max-size": "10m", "max-file": "3"},<br> "default-ulimits": {"nofile": {"Name": "nofile", "Hard": 65536, "Soft": 65536}}<br>}
(证书需提前用openssl生成并分发); - 启用 SELinux 容器策略:
setsebool -P container_manage_cgroup on,确保容器可安全访问 cgroup; - 启动服务并设为开机自启:
systemctl enable --now docker; - 验证状态:
systemctl status docker显示active (running),且docker info | grep "Security Options"应包含selinux和seccomp。
集成企业基础设施与审计闭环
单点 Docker 引擎无法构成企业级能力,需对接已有体系:
- 将
/var/log/messages和/var/log/containers/日志接入企业 SIEM(如 Splunk 或 ELK),设置关键词告警(如dockerd: failed to start daemon); - 通过 Red Hat Insights 扫描 Docker 主机风险:
insights-client --register,自动识别 CVE-2023-XXXX 类漏洞; - 镜像信任链管理:配置 Notary 或 Cosign,在 CI 流水线中对镜像签名,Docker daemon 启用
"content-trust": true强制校验; - 资源配额控制:对关键业务容器使用
--memory=2g --cpus=2 --pids-limit=1024,防止资源耗尽影响宿主机稳定性。











