CentOS Stream 9 上安装 Docker、Compose 与腾讯云镜像加速(实践记录)
在腾讯云上的 CentOS Stream 9 跑容器化项目时第一步往往是把 Docker 和 Docker Compose 装稳、把镜像拉取路径调顺。下面是一套可直接照做的流程以及和「本机打 tar、服务器docker load」类部署配合时的注意点。为什么用官方源 腾讯云加速Docker CE 官方 yum 源能一次性装上docker-ce、docker-compose-plugin等避免旧系统里只有docker却没有docker compose子命令的尴尬。腾讯云内网镜像加速mirror.ccs.tencentyun.com仅在腾讯云 CVM 等环境走内网拉公共镜像通常比直连公网 Hub 更稳、更快适合 Compose 里依赖redis:7-alpine这类需要从仓库拉的基础镜像。安装 Docker 与 Compose 插件先装仓库工具再加 Docker 官方 CentOS 源最后安装核心包已包含docker-compose-pluginsudo yum install -y yum-utilssudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.reposudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin启动并开机自启sudo systemctl start dockersudo systemctl enable docker自检docker --versiondocker compose version若第二条有版本输出说明docker composeV2 插件 已就绪可与docker-compose.yml搭配使用。CentOS Stream 9 与 nftablesStream 9 上若遇网络/iptables 与容器网络异常可把 nftables 相关库 升到较新再观察sudo yum update -y nftables libnftnl是否必须因内核与 Docker 版本而异作为排障或新装机后的加固步骤即可。配置腾讯云 Docker 镜像加速在 CVM 上为 daemon 配置 registry mirrorsudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json -EOF{registry-mirrors: [https://mirror.ccs.tencentyun.com]}EOF重载并重启 Dockersudo systemctl daemon-reloadsudo systemctl restart docker确认是否生效docker info | grep Registry Mirrors -A 1输出里出现https://mirror.ccs.tencentyun.com即表示配置已加载。冒烟测试拉一个常用小镜像docker pull redis:7-alpine或在项目目录docker compose up -d能正常 pull / up说明「Docker 加速 Compose」这条链路通了。和「离线 tar 部署」的关系可选串联很多团队会本机或 CIdocker builddocker save出业务镜像 tar服务器只做docker loadCompose 只引用本地镜像名。此时镜像加速主要惠及 Redis、Nginx 等仍在服务器上 pull 的基础镜像业务镜像是否走加速取决于你 tag 是否来自公网仓库。把 Stream 9 官方 Docker 源 docker-compose-plugin 腾讯云 mirror 配好后这类混合部署会省心很多。附录给其它项目复用「同款部署体系」的 Prompt把下面整段复制到新对话或需求文档里并按最后一行补充你的技术栈即可。请为我的项目设计一套与下列约定一致的「本机构建 导出镜像 tar 服务器 docker load Compose 起栈」部署方案并落地到仓库里脚本与文档路径可按项目名调整目标业务镜像在开发机/CI构建完成服务器不 build只docker load离线 tar。尽量减少对 Docker Hub 的依赖基础镜像优先选当前环境能稳定拉取的源如已验证的第三方镜像或公共 ECR 同步的 library 镜像。前端不在 Docker 里装 Node在宿主机pnpm/npm构建出静态dist镜像内**仅 Nginx或 Bitnami Nginx**拷贝静态文件与自定义nginx.conf。后端单 jar 合适 JRE/JDK 基础镜像非 root、工作目录与配置里上传临时目录等路径要一致。提供deploy.env.exampleCompose 变量 后端容器env_file合一和docker-compose.server.yml如 Redis 后端 前端端口用环境变量默认非 80。提供build_export.py或等价脚本可选跳过 Maven/跳过前端构建Windows 下mvn.cmd/pnpm.cmd与可执行路径要可靠顺序为打 jar →docker build后端 → 本机构建前端 dist →docker build前端 →docker save两个 tar 到docker-export/并写入.last-version。.dockerignore勿把前端dist整个 ignore 掉导致 Nginx 镜像 COPY 失败可排除node_modules等。文档说明docker compose与旧版docker-compose的差异无 compose 插件时用docker-compose --env-file ...或set -a source deploy.env。可选提供reload_latest_images.shBash在固定目录扫描成对的*-admin-tag.tar与*-web-tag.tar取字典序最大的共同tag交互确认后docker load、更新deploy.env中镜像标签、compose up -d自动检测docker compose/docker-compose。请根据我的技术栈在此补充语言、前端框架、包管理器、后端端口、API 前缀与 Nginx 反代规则生成具体文件内容与命令保持与上述原则一致不要做无关重构。