Linux容器环境怎么部署_从基础到进阶全流程讲透【教学】

2次阅读

linux容器部署核心是选对运行时(如containerd+nerdctl或podman)、配好国内镜像源、跑稳首个容器,再用nerdctl compose实现轻量编排,全程无需docker Desktop或K8s。

Linux容器环境怎么部署_从基础到进阶全流程讲透【教学】

Linux容器环境部署不难,关键在理清步骤、避开常见坑。核心是:选对运行时、配好镜像源、跑稳第一个容器、再逐步加管理能力。

一、确认系统基础和容器运行时

主流Linux发行版(如ubuntu 20.04+、centos 8+/AlmaLinux/Rocky Linux、debian 11+)基本都预装或轻松支持containerd或Podman。Docker虽常用,但已非唯一选择——尤其新项目推荐优先用containerd + nerdctlPodman(无守护进程、rootless更安全)。

  • 检查内核版本:uname -r,确保 ≥ 4.18(推荐5.4+,支持cgroup v2和seccomp)
  • 确认cgroup v2启用:mount | grep cgroup,看到cgroup2 on /sys/fs/cgroup type cgroup2即正常
  • 关闭旧版cgroup v1干扰(可选):在grub中添加systemd.unified_cgroup_hierarchy=1

二、安装轻量高效运行时(以containerd + nerdctl为例)

跳过Docker Desktop式臃肿方案,用原生云原生更可控、资源占用更低。

  • Ubuntu/Debian:sudo apt update && sudo apt install -y containerd.io(官方repo)或直接下载containerd二进制+nerdctl
  • 配置containerd:sudo mkdir -p /etc/containerd && sudo containerd config default | sudo tee /etc/containerd/config.toml
  • 启用systemd cgroup驱动(编辑config.toml):
    [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
    SystemdCgroup = true
  • 启动服务:sudo systemctl enable --now containerd
  • 安装nerdctl(类docker CLI):curl -LO https://github.com/containerd/nerdctl/releases/download/v1.7.6/nerdctl-1.7.6-linux-amd64.tar.gz && tar zxvf nerdctl-1.7.6-linux-amd64.tar.gz && sudo mv nerdctl /usr/local/bin/

三、加速镜像拉取与本地镜像管理

国内直连Docker Hub慢且不稳定,必须配置镜像加速器;同时建议搭建私有registry用于团队协作或离线环境。

Linux容器环境怎么部署_从基础到进阶全流程讲透【教学】

Visla

AI视频生成器,快速轻松地将您的想法转化为视觉上令人惊叹的视频。

Linux容器环境怎么部署_从基础到进阶全流程讲透【教学】 100

查看详情 Linux容器环境怎么部署_从基础到进阶全流程讲透【教学】

  • 为containerd配置镜像加速(修改/etc/containerd/config.tomlplugins."io.containerd.grpc.v1.cri".registry段):
    [[plugins."io.containerd.grpc.v1.cri".registry.mirrors]]
    endpoint = ["https://mirror.gcr.io", "https://docker.mirrors.ustc.edu.cn"]
  • 重启生效:sudo systemctl restart containerd
  • 测试拉取:nerdctl pull nginx:alpine(比docker pull更快更省内存)
  • 本地存镜像:nerdctl save -o nginx.tar nginx:alpine;加载:nerdctl load -i nginx.tar

四、从单容器到轻量编排(不用K8s也能管好)

小项目或CI/CD环境无需上kubernetes。nerdctl自带compose子命令(v1.5+),完全兼容Docker Compose v2语法。

  • 写一个docker-compose.yml(示例:Nginx + redis):
    services:
    web:
    image: nginx:alpine
    ports: ["8080:80"]
    cache:
    image: redis:7-alpine
  • 启动:nerdctl compose up -d;查看:nerdctl compose ps;日志:nerdctl compose logs -f
  • 进阶技巧:
      – 加--rootless参数用普通用户运行(需提前配置loginctl enable-linger $USER
      – 用nerdctl build -f Dockerfile -t myapp .构建镜像(支持BuildKit)
      – 配合systemd --user实现开机自启容器(适合边缘设备)

基本上就这些。从装运行时、配镜像源、跑单容器,到用Compose编排,整套流程干净、可复现、易维护。不需要Docker Desktop,也不必一上来就啃K8s。真正用起来,你会发现容器不是黑盒,而是你手边顺手的“超级chroot”。

text=ZqhQzanResources