formatuu 发表于 2017-7-7 18:51:10

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。
页: [1]
查看完整版本: Docker for Mac与IntelliJ Docker Integration插件的兼容性问题