Docker for Mac与IntelliJ Docker Integration插件的兼容性问题

笔者在自己的Mac上安装的是Docker for Mac,而不是Docker Toolbox。
这两者最主要的区别在于Docker for Mac用HyperKit作为虚拟化解决方案而不是VirtualBox,相比Docker Toolbox,Docker for Mac更加native些。
Docker for Mac 通过/var/tmp/docker.sock暴露API。

JetBrains系IDE有一款叫Docker Integration的插件。

当笔者尝试配置此插件时,发现它对Docker for Mac用户不是太友好。而在笔者的另一台安装Docker Toolbox的Mac上却是相当容易的。


当打开配置页,默认的显示结果如图所示,API URL为https://192.168.99.100:2376。然而这并不起作用,没办法和Docker建立连接。

当我尝试在API URL中随便填入unix:///var/run/docker.sock,IDE提示如下。

点开More info,会进到这个issue

发现Docker Integration与Docker for Mac的兼容性问题有一个workaround

在命令行输入

brew install socat

安装socat

再输入命令

socat -d -d TCP-L:8099,fork UNIX:/var/run/docker.sock

再在IntelliJ中配置API URL为tcp://localhost:8099
可以看到最终成功连接到docker,如下图所示。

笔者阅读了相关ISSUE,事实上,这个问题并没有真正的解决,只是目前有这么个workaround。

posted @ 2016-12-13 14:51  活在夢裡  阅读(705)  评论(0编辑  收藏  举报