Linux 容器部署需标准化执行:环境准备(4 核 CPU、16GB 内存、SSD 硬盘、LTS 系统)、干净安装 Docker/containerd、配置镜像加速与 cgroup、验证拉取 / 运行 / 网络 /Compose 全流程,关键在用户组、镜像源、cgroup 三处。

Linux 容器环境部署不是“装完 Docker 就完事”,而是一套环环相扣的标准化动作。核心在于:环境准备扎实、权限与网络无隐患、镜像拉取不卡顿、服务启动可验证。跳过任一环节,后续调试成本会指数级上升。
硬件与系统基础要过关
别急着敲命令,先确认底座稳不稳:
- CPU 至少 4 核,内存建议 16GB 起(开发环境 8GB 勉强可用,但多开 IDE+ 容器易卡)
- 硬盘 用 SSD,根分区留足 50GB,/var/lib/docker所在分区建议单独挂载且预留 200GB 以上(镜像和层数据增长很快)
- 操作系统 选长期支持版:Ubuntu 22.04 LTS 或 CentOS Stream 8/9(避免 CentOS 7 已停更带来的安全与兼容风险)
- 内核版本必须≥3.10,执行 uname -r 检查;若低于要求,直接升级系统而非强行打补丁
Docker 或 containerd 安装要干净
推荐优先用 containerd(Kubernetes 默认运行时,更轻量稳定),但 Docker CE 对开发者更友好。两者都需避开旧包残留:
- 卸载历史残留:sudo yum remove docker* containerd* runc*(CentOS)或 sudo apt-get purge docker-ce docker-ce-cli containerd.io(Ubuntu)
- 添加国内源(阿里云 或清华源),避免因网络问题中断安装
- 安装后立即执行:sudo usermod -aG docker $USER,然后重新登录终端——这步漏掉,普通用户根本跑不了 docker 命令
- containerd 需额外配置镜像加速和 cgroup 驱动:SystemdCgroup = true 必须设为 true,否则 K8s 节点可能无法注册
网络与镜像加速必须配好
国内环境下,没配加速器的 Docker 等于半瘫痪:
- Docker:编辑 /etc/docker/daemon.json,加入主流镜像源(如 https://registry.cn-hangzhou.aliyuncs.com)
- containerd:修改 /etc/containerd/config.toml 中 cri.registry.mirrors 段,覆盖 docker.io、k8s.gcr.io、ghcr.io 等常用域
- 重启服务后,用 docker info | grep “Registry Mirrors” 或 crictl info | grep mirror 验证是否生效
- 如需跨主机通信,提前规划好网段,避免与宿主机或容器 IP 冲突(例如别用 172.17.0.0/16,那是 Docker 默认桥接网段)
首次验证务必手动跑通闭环
别信“安装成功”提示,要用最小动作验证整条链路:
- 拉一个轻量镜像:docker pull alpine:latest(几 MB,秒级完成)
- 启动并交互执行命令:docker run –rm -it alpine sh -c “echo ‘OK’ && ip a | head -3”
- 检查容器网络是否通宿主机:docker run –rm alpine ping -c2 host.docker.internal(Docker Desktop 默认支持,Linux 需手动加 –add-host=host.docker.internal:host-gateway)
- 最后跑一次 compose 示例:echo ‘version: “3”nservices:n test:n image: alpinen command: sleep 10’ | docker-compose -f – up -d
基本上就这些。不复杂但容易忽略细节,尤其是用户组、镜像源、cgroup 配置这三处,90% 的“部署失败”都卡在这儿。