You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

搭载M1芯片MacBook Pro虚拟机安装Docker遇阻求助

解决方案:M1 MacBook Pro 虚拟机部署 Docker 相关问题处理

问题1:VirtualBox 架构不支持报错

Unsupported hardware architecture detected! The installer has detected an unsupported architecture. VirtualBox only runs on the amd64 architecture.

  • 原因:M1/M2 芯片基于 ARM64 架构,旧版 VirtualBox 仅适配 x86_64(amd64)架构,无 ARM 平台支持。
  • 解决办法:替换为原生支持 Apple Silicon 的虚拟化工具,比如 VMware Fusion Player(ARM 版) 或 UTM,二者均可完美适配 ARM64 架构。

问题2:VMware 配置后 Docker Desktop 启动失败

Docker Desktop is unable to detect a hypervisor Hardware assisted virtualization and data execution protection must be enabled in BIOS.

  • 原因:Apple Silicon 设备上,VMware 虚拟机的嵌套虚拟化未开启,或 Docker Desktop 无法跨虚拟机识别 hypervisor。
  • 解决步骤:
    1. 打开 VMware Fusion,选中目标 Ubuntu 虚拟机,进入「设置」->「处理器与内存」,勾选「启用嵌套虚拟化」,保存后重启虚拟机。
    2. 进入 Ubuntu 虚拟机,验证虚拟化状态:执行命令 egrep -c '(vmx|svm)' /proc/cpuinfo,输出大于 0 即为开启成功。
    3. 直接在 Ubuntu 内安装 Docker Engine(无需依赖 Docker Desktop 跨机检测):
      • 卸载旧版本:sudo apt-get remove docker docker-engine docker.io containerd runc
      • 配置 Docker 仓库:
        sudo apt-get update
        sudo apt-get install ca-certificates curl gnupg
        sudo install -m 0755 -d /etc/apt/keyrings
        curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
        sudo chmod a+r /etc/apt/keyrings/docker.gpg
        echo \
          "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
          $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
          sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
        
      • 安装 Docker 组件:sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
      • 验证安装:sudo docker run hello-world

问题3:部署 Ubuntu 虚拟机时 screen /dev/ttys001 执行失败

  • 原因:/dev/ttys001 是 macOS 本地终端设备节点,Ubuntu 虚拟机内不存在该路径,教程步骤为 x86 环境的错误操作。
  • 解决办法:
    1. 若需连接虚拟机串行控制台,先查看 Ubuntu 内正确的串行设备:执行 ls /dev/ttyS*,通常显示为 /dev/ttyS0。
    2. 用 screen 连接串行终端:sudo screen /dev/ttyS0 115200(115200 为常见波特率,可根据虚拟机配置调整)。
    3. 若仅需操作虚拟机终端,直接使用 VMware/Fusion 自带的虚拟机窗口即可,无需额外执行 screen 命令。

内容的提问来源于stack exchange,提问作者Connie Stark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 15:38:29