Anolis OS 8.10 完整安装 Docker CE(生产可用,解决 podman 冲突)

目录

一、前置清理(必做)

二、安装依赖工具

[三、添加 Docker 阿里云 yum 源(国内高速)](#三、添加 Docker 阿里云 yum 源(国内高速))

[四、安装 Docker 全套(含 compose 插件)](#四、安装 Docker 全套(含 compose 插件))

五、启动并开机自启

六、配置国内镜像加速(解决拉取镜像超时)

七、验证安装

八、常见报错解决

[1. runc/podman 依赖冲突](#1. runc/podman 依赖冲突)

[2. cgroup v2 容器启动失败(虚拟机常见)](#2. cgroup v2 容器启动失败(虚拟机常见))

[3. 下载包 SSL / 源超时](#3. 下载包 SSL / 源超时)

[九、普通用户免 sudo 操作 docker(可选)](#九、普通用户免 sudo 操作 docker(可选))


Anolis 8 自带 podman/runc,安装 Docker 必须加 --allowerasing 覆盖冲突包,全程 root 执行。

一、前置清理(必做)

复制代码
# 1. 更新系统
dnf update -y

# 2. 卸载旧版docker、podman(避免依赖冲突)
dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-logrotate docker-engine podman* runc

二、安装依赖工具

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

三、添加 Docker 阿里云 yum 源(国内高速)

复制代码
# 添加官方repo(适配CentOS8,Anolis8完全兼容)
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 替换源地址为阿里云,避免国外下载慢
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

# 刷新缓存,
dnf makecache 

四、安装 Docker 全套(含 compose 插件)

复制代码
# --allowerasing 自动替换系统自带runc,解决报错
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin --allowerasing
  • docker-ce:Docker 引擎
  • docker-compose-plugin:新版docker compose(无需单独装 docker-compose)
  • containerd.io:容器运行时

五、启动并开机自启

复制代码
# 立即启动+开机自启
systemctl enable --now docker

# 验证状态
systemctl status docker

六、配置国内镜像加速(解决拉取镜像超时)

复制代码
# 创建daemon配置
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  }
}
EOF

# 重载配置并重启docker
systemctl daemon-reload
systemctl restart docker

七、验证安装

复制代码
# 查看Docker版本
docker version

# 测试hello-world容器
docker run --rm hello-world

# 新版compose使用方式
docker compose version

八、常见报错解决

1. runc/podman 依赖冲突

安装命令必须带 --allowerasing,如已报错执行:

复制代码
dnf install -y docker-ce --allowerasing

2. cgroup v2 容器启动失败(虚拟机常见)

复制代码
# 修改grub内核参数
vi /etc/default/grub
# 在GRUB_CMDLINE_LINUX末尾添加:systemd.unified_cgroup_hierarchy=0
GRUB_CMDLINE_LINUX="xxx systemd.unified_cgroup_hierarchy=0"

# 更新grub并重启
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot

3. 下载包 SSL / 源超时

安装时追加参数:

复制代码
dnf install -y docker-ce --allowerasing --setopt=sslverify=false

4. 刷新缓存遇到的问题

Anolis OS 8 使用 dnf 作为默认包管理器,旧 CentOS7 的 yum makecache fast 语法不再支持:

  1. fast 是旧版 yum 参数,新版 dnf/yum 不识别;

  2. 报错提示 invalid choice: 'fast',正确刷新缓存命令无 fast 参数。

  3. 正确刷新 yum 缓存(替换报错命令)

    yum makecache

    或等效dnf命令(推荐)

    dnf makecache

2.如需强制刷新,添加 --refresh 参数:

复制代码
yum makecache --refresh

九、普通用户免 sudo 操作 docker(可选)

复制代码
# 将当前用户加入docker组
usermod -aG docker $USER
# 重新登录生效
newgrp docker
相关推荐
修罗王13 小时前
Linux Docker 服务管理与排查实战指南(新手速查版)
运维·docker
云川之下15 小时前
【k8s】NAD(NetworkAttachmentDefinition)与SR‑IOV‑Operator 关系
云原生·容器·kubernetes
张龙68715 小时前
Docker 镜像瘦身实战:从 1.2GB 到 128MB,我踩过的 7 个坑和一套可复制的方法论
运维·后端·docker
杨浦老苏17 小时前
开源堡垒机 Warpgate:一个容器搞定 SSH、MySQL 和 Web 访问
运维·docker·ssh·堡垒机·群晖
ERD Online17 小时前
docker-compose 一键部署的 MIT 开源数据库建模平台
数据库·docker·开源
ZzzZZzzzZZZzzzz…18 小时前
K8S实战:NFS+StorageClass+PV/PVC+Deployment
运维·云原生·容器·kubernetes·storageclass·linux运维·持久卷
三言老师18 小时前
CentOS7.9 + Kubernetes 1.18.20 -清理所有 docker / containerd 残留
docker·容器·kubernetes
circuitsosk19 小时前
从Docker到Kubernetes:AI应用服务化与弹性伸缩的落地实践
人工智能·docker·kubernetes·ai应用部署
showyoui20 小时前
K8s 集群迁移踩坑:Istio 升级后 nginx 403
网络·docker·kubernetes·istio·service_mesh
云川之下1 天前
【k8s】sriov‑device‑plugin、sriov‑network‑config‑daemon详解
云原生·容器·kubernetes