从gradle运行docker工具:无法拉出图像

从cmd行运行docker我没有问题:

docker run -p 5432:5432 -it --rm postgres:9.5.2` 

但是当我从gradle,使用dcompose插件 ,我得到了

 Could not evaluate onlyIf predicate for task ':pullDatabaseImage'. > Docker command failed: Certificate path (DOCKER_CERT_PATH) '/home/xxx/.docker/certs' doesn't exist. 

我的configuration:

 plugins { id "com.chrisgahlert.gradle-dcompose-plugin" version "0.3.2" } dcompose { database { image = 'postgres:9.5.2' // Required } } test { dependsOn startDatabaseContainer finalizedBy removeDatabaseContainer } 

怎么了? 我怎么能从gradle运行docker?

我发现Docker使用Unix套接字进行不安全的本地通信,但它需要networking通信/ IP套接字的自定义证书。 插件com.chrisgahlert.gradle-dcompose-plugin使用networking通信,所以没有办法让它开箱即用(每个想要在本地运行的开发者都必须configuration他的docker)。 所以我停止使用该插件,并切换到手动执行系统命令( docker run ... )从Java。 这样不需要额外的安全configuration。

回复晚了非常抱歉。

尝试使用最新的插件版本(目前0.8.0)。 这使用最新的docker-java库,负责与Docker主机通信。 在这个版本中,应该可以连接到本地的unix套接字。

如果这没有帮助:尝试unset DOCKER_TLS_VERIFY环境variablesunset DOCKER_TLS_VERIFY