linuxmirrors-docker
为 Linux 主机规划 LinuxMirrors Docker Engine 安装、Docker CE 软件源更换和 Docker Registry Mirror 配置,覆盖版本选择、已有安装、仅换 Registry、多镜像地址、daemon.json 合并、服务验证与回滚。用户提到 docker.sh、DockerInstallation.sh、Docker 拉取加速或 `--only-registry` 时使用;普通系统软件源更换不使用本技能。
为 Linux 主机规划 LinuxMirrors Docker Engine 安装、Docker CE 软件源更换和 Docker Registry Mirror 配置,覆盖版本选择、已有安装、仅换 Registry、多镜像地址、daemon.json 合并、服务验证与回滚。用户提到 docker.sh、DockerInstallation.sh、Docker 拉取加速或 `--only-registry` 时使用;普通系统软件源更换不使用本技能。
先区分三条路径:全新安装 Docker Engine、替换 Docker CE 软件包仓库、仅配置 Registry Mirror。三者影响面不同,不要把“安装源”和“镜像拉取加速”混写。
可直接使用:
只读确认 Docker 状态:
docker version 2>/dev/null || true
检查当前 Mirror,不修改配置:
docker info 2>/dev/null | sed -n '/Registry Mirrors/,+5p'
检查 Compose V2:
docker compose version 2>/dev/null || true
当用户要安装 Docker Engine、更换 Docker CE 软件包仓库、配置 Registry Mirror 或排查 docker.sh/--only-registry 时使用。普通系统软件源、Docker Desktop、containerd/Kubernetes 全局镜像配置不适用。
必须知道发行版、版本、架构、Docker 是否已安装、init 系统、现有 daemon.json 和维护授权。
读取预检清单,确认发行版、版本、架构、root、Docker 状态、init 系统和现有配置。
全新安装/修复 CE 仓库/--only-registry 三选一,参考模式差异。
从参数参考选择源、Registry、版本及语言参数。
备份 /etc/docker/daemon.json 和 Docker CE repo 文件,记录当前 Docker 版本与服务状态。
展示影响面;默认不关闭防火墙,不在未知生产机直接运行。
检查 repo、docker version、服务状态、docker info Registry Mirrors 与实际拉取。
按回滚指南恢复 JSON/repo 备份并重启或恢复原服务状态。
--only-registry、单个/多个 Registry Mirror 和 daemon.json 合并。--designated-version 需要先查询仓库实际提供的完整版本。daemon.json 含代理、日志驱动、私有仓库等配置时必须做 JSON 级合并而非覆盖。本技能不收集或上传用户数据,不要求主机密码、SSH 私钥或 Registry 凭据。先审查远程脚本再运行。默认保留防火墙,只有用户明确授权并理解暴露面时才讨论 --close-firewall true。不要覆盖未知的 daemon.json,不要把私有 Registry 凭据写入示例。
先按“Docker 已安装、只更换 Registry、systemd、保留现有 daemon.json、不关闭防火墙、只生成方案”给出安全示例。请补充:发行版与版本、架构、Docker 是否已安装、目标是 CE 软件源还是 Registry、init 系统、现有 daemon.json、是否有私有仓库或代理。
DockerInstallation.sh --help?daemon.json 是否先通过 jq/JSON 解析校验并备份?docker info 和实际拉取?--only-registry 检测不到 Docker Engine 时会退出,不能当作安装命令。daemon.json 会丢失日志、代理、data-root 等现有配置;必须合并。--close-firewall true 影响主机安全边界,不得作为默认“安装优化”。28.0.0 仍可能受发行版包版本格式影响,先查询仓库列表。Q1:只想加速拉镜像怎么办? Docker 已安装时使用 --only-registry,并通过 --source-registry 指定一个或多个地址。
Q2:多个地址怎么写? 使用英文逗号分隔,并验证每个地址;顺序代表尝试优先级而非自动测速。
Q3:Compose 需要单独安装吗? 当前脚本集成 Docker Compose V2 插件,使用 docker compose,不要默认依赖旧的 docker-compose。
Q4:如何确认 Mirror 生效? docker info 查看 Registry Mirrors,再拉取公开小镜像并观察错误与耗时。
Q5:可以覆盖 daemon.json 吗? 只有确认文件不存在或内容可全部替换时;默认应解析、合并、校验和备份。
Q6:脚本支持所有 Linux 吗? Docker 脚本主要面向 Debian 系和 Red Hat 系及衍生版;独立发行版要改用官方安装方式。