M1 Mac下如何修改OpenShift CodeReady Containers(CRC)VM的端口?
解决M1 Mac上CRC端口6443被占用的问题
第一步:确认端口占用进程
先执行命令定位占用6443端口的进程,确认是否为Docker Desktop的Kubernetes组件:
lsof -i :6443
方案一:关闭Docker Desktop的Kubernetes(快速解决)
- 打开Docker Desktop偏好设置,切换到Kubernetes标签页
- 取消勾选「Enable Kubernetes」,点击「Apply & Restart」重启Docker
- 重启后重新启动CRC,默认端口映射即可正常工作
方案二:修改CRC的本地转发端口(保留Docker Kubernetes)
如果需要同时运行Docker Kubernetes和CRC,通过修改CRC的端口映射规则解决冲突:
- 停止运行中的CRC:
crc stop - 修改CRC配置,将本地端口改为未被占用的端口(例如6444),映射到VM内部的6443端口:
crc config set expose-ports "6444:6443" - 重新启动CRC:
crc start - 验证新端口是否正常监听:
lsof -i :6444 - 后续访问OpenShift API时,需使用新端口:
https://127.0.0.1:6444
注意事项
- 若修改配置后仍有异常,可备份数据后执行
crc delete重置CRC,再重新启动 - M1架构的CRC基于HyperKit虚拟机,OpenShift内部组件端口固定,只能通过修改本地转发端口解决冲突,无法直接调整VM内部的6443端口
内容的提问来源于stack exchange,提问作者jrh
相关产品推荐
相关产品推荐

