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: alpine\n command: sleep 10' | docker-compose -f - up -d
基本上就这些。不复杂但容易忽略细节,尤其是用户组、镜像源、cgroup配置这三处,90%的“部署失败”都卡在这儿。










