Apple Container CLI 命令参考手册

社区话题 Linux/macOS 与自动化运维 Apple Container CLI 命令参考手册

标签: 

  • 该话题为空。
正在查看 0 条回复
  • 作者
    帖子
    • #1202

      追光
      管理员

      Apple Container CLI 命令参考手册

      🔑 一、核心认知再确认(基于全部文档)

      Apple container = 以容器命令操作轻量级虚拟机(VM)的 macOS 原生运行时

      每个

      container run

      启动一个独立 VM(非共享内核)
      完全兼容 OCI 镜像标准(Dockerfile、registry 通用)
      深度集成 macOS 系统能力(Virtualization.framework, vmnet, Keychain, Unified Logging)

      🧰 二、命令体系全景图(按功能分类)

      1. 容器生命周期管理(最常用)

      命令作用关键选项
      run创建并启动容器–detach, –rm, –cpus, –memory, –publish, –volume, –network, –ssh, –virtualization
      create → start分步创建/启动(用于调试)同 run 的管理选项
      stop / kill停止 / 强制终止–time, –signal
      delete (rm)删除容器–force, –all
      exec在运行容器中执行命令-it, –env, –user
      logs查看应用日志或 VM 启动日志–boot, –follow, -n
      inspect查看容器详细配置(JSON)

      💡 提示:

      run = create + start + 自动 attach

      2. 镜像管理(OCI 兼容)

      命令作用
      build从 Dockerfile 构建镜像(基于 BuildKit)
      pull / push拉取/推送镜像到 registry
      save / load支持本地镜像导入导出(tar 格式)
      tag打标签(用于推送)
      delete (rm) / prune删除镜像 / 清理悬空镜像
      inspect查看镜像元数据

      ✅ 重要发现:

      container image load -i my-image.tar

      可导入本地镜像

      3. 资源与配置

      类别命令说明
      构建器builder start/status/stop/delete独立配置构建资源(–cpus, –memory)
      网络network create/delete/list/inspect仅 macOS 26+ 支持,实现容器隔离网络
      volume create/delete/list/inspect持久化存储(支持指定大小 -s 10G)
      系统system start/stop/status/logs管理整个 container 平台服务
      DNSsystem dns create/delete/list配置 .test 本地域名解析
      内核system kernel set自定义容器使用的 Linux 内核
      属性system property list/get/set/clear全局配置(如 build.rosetta, dns.domain)

      ⚙️ 三、高级功能速查

      功能命令示例说明
      多平台构建
      container build --arch arm64 --arch amd64 -t my-app .
      生成跨架构镜像
      端口转发
      container run -p 8080:80 nginx
      访问 localhost:8080
      SSH 代理转发
      container run --ssh alpine
      容器内可 git clone git@…
      嵌套虚拟化
      container run --virtualization ubuntu
      需 M3+ 芯片,容器内可用 KVM
      自定义网络
      container network create foocontainer run --network foo ...
      容器间隔离通信(macOS 26+)
      环境变量
      container run -e FOO=bar --env-file .env ...
      支持文件导入
      临时文件系统
      container run --tmpfs /tmp ...
      内存中 tmpfs

      ⚠️ 四、平台限制再强调

      功能macOS 15macOS 26+
      容器间通信❌ 不支持✅ 支持
      自定义网络 (network create)❌ 不可用✅ 可用
      –network 选项❌ 报错✅ 可用
      稳定 IP 分配⚠️ 需手动修复 subnet✅ 自动可靠
      推荐使用仅单容器开发完整功能体验

      🚀 五、学习建议:下一步做什么?

      1. 验证本地镜像导入:

      container image save -o web-test.tar web-test
      container image delete web-test
      container image load -i web-test.tar

      2. 尝试多平台镜像:

      container build --arch arm64 --arch amd64 -t demo .
      container run --arch amd64 demo uname -m

      应输出 x8664

      3. 配置自定义 DNS(macOS 26+):

      sudo container system dns create dev
      container system property set dns.domain dev
      container run --name app nginx
      curl http://app.dev

      应能访问

      4. 查看系统属性:

      container system property list
      container system property get build.rosetta

      ✅ 总结
      Apple container 是 macOS 原生、基于 VM 的新一代容器运行时。善用其强隔离、安全性和系统集成优势,同时注意平台版本限制。

正在查看 0 条回复
  • 在下方一键注册,登录后就可以回复啦。