背景

平常使用IDEA直接构建打包docker到服务器部署,突然莫名其妙就提示构建失败,报错信息如下

正在部署 'CarefreeCourier Dockerfile: Dockerfile'…
无法部署 'CarefreeCourier Dockerfile: Dockerfile': Image build failed with exit code 137.

排查步骤

1、测试服务器连接是否异常

2、排查本地docker服务情况(由于构建需要本地docker进行构建镜像才推到服务器)

发现docker服务一直报错,启动docker时提示不安全并自动删除了docker软件

3、查看github官方仓库是否存在相同情况,发现有相关issues的提交

https://github.com/docker/for-mac/issues/7527

4、官方网站也出了说明

总结原因

Docker for MAC使用的是一个轻量级的Linux虚拟机,它与macOS之间的通信是通过socket文件实现的,这种机制可能导致网络隔离,在最新版mac系统中认定该行为系有威胁的行为。

解决方法🍚

  • 去官网安装最新版docker

  • 安装完终端使用如下命令

sudo cp /Applications/Docker.app/Contents/Library/LaunchServices/com.docker.vmnetd /Library/PrivilegedHelperTools/
  • 关闭Docker重新打开,就可以使用了

结果

可以成功构建部署!