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

M2芯片MacBook Pro本地Docker Desktop部署Rancher无法访问问题

问题原因及解决步骤

核心原因

  1. 架构兼容性不匹配:Rancher官方默认的rancher/rancher镜像是amd64架构,M2 Mac的ARM64架构通过Docker Desktop的Rosetta转译运行时,webhook这类核心组件容易出现启动故障,导致服务无法正常对外响应。
  2. 本地访问地址未明确配置:直接用默认命令启动Rancher时,内部webhook等组件无法正确识别localhost作为合法的回调地址,引发注册失败,进而阻断服务链路。
  3. M2 Mac虚拟化网络的特殊性:Docker Desktop在M2芯片上的网络栈与Intel Mac有差异,直接映射80/443端口可能存在隐性的转发延迟或权限限制。

修复步骤

1. 切换到ARM64专属镜像

放弃amd64镜像,改用官方提供的ARM架构版本,彻底避免转译兼容性问题:

# 先停止并删除原有容器
sudo docker stop $(docker ps -q --filter "ancestor=rancher/rancher")
sudo docker rm $(docker ps -aq --filter "ancestor=rancher/rancher")
# 启动ARM64版本Rancher
sudo docker run --privileged -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher:latest-arm64

2. 明确指定访问地址启动

启动时通过参数强制设置主机名和本地映射,确保内部组件能正确注册回调:

sudo docker run --privileged -d --restart=unless-stopped \
  --hostname localhost \
  --add-host=localhost:127.0.0.1 \
  -p 80:80 -p 443:443 rancher/rancher:latest-arm64

3. 检查Docker Desktop网络配置

  • 打开Docker Desktop偏好设置,进入资源 > 网络,确保“允许使用默认Docker套接字”选项已开启。
  • 重启Docker Desktop后,重新启动Rancher容器。

4. 验证服务状态

ARM架构下Rancher初始化需要5-10分钟,之后执行以下命令确认:

# 查看日志,确认webhook无报错
docker logs -f $(docker ps -q --filter "ancestor=rancher/rancher:latest-arm64")
# 测试HTTPS访问(忽略证书警告)
curl -v https://localhost --insecure

如果能看到Rancher登录页面的HTML代码,说明服务正常了。

额外提示

  • 要是80/443端口被占用,可临时修改映射端口,比如-p 8080:80 -p 8443:443,访问https://localhost:8443即可。
  • 首次访问会要求设置管理员密码,按页面提示完成初始化就能开始管理K8s集群了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:09:53