从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
。
- 无法在Docker私有存储中login
- 如何自动configuration本地域指向docker容器
- 我可以在生产中使用boot2docker吗? CoreOS Vs boot2docker
- 如何在Elastic Beanstalk多容器docker上使用fluentd日志驱动程序
- 在Docker中使用buildpack-deps构build,但依赖关系似乎没有安装?
- Nginxcaching文件太小
- 在centos 6上添加–insecure-registry参数给docker守护进程
- 在docker-compose.yml上复制'docker volume create –name data'命令
- 不能在swarm中使用用户自定义的桥来组成yaml文件