java - 从 gradle 运行 docker : cannot pull image

标签 java gradle docker

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

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

但是当我从 gradle 执行此操作时,使用 dcompose plugin ,我得到了

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

我的配置:

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 套接字进行不安全的本地通信,但它需要自定义证书进行网络通信/IP 套接字。插件 com.chrisgahlert.gradle-dcompose-plugin 使用网络通信,因此无法使其开箱即用(每个想要在本地运行它的开发人员都必须配置他的 docker) 。所以我停止使用该插件,转而从 Java 手动执行系统命令 (docker run ...)。这样就不需要额外的安全配置。

关于java - 从 gradle 运行 docker : cannot pull image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38787536/

相关文章:

java - 配置项目 ':app' 时出现问题。 > compileSdkVersion 未指定

gradle - 如何在 IntelliJ 插件项目中启用 gradle

docker - docker如何使用带引号的新命令提交docker

Java : Sort JSON String using key

java - java中如何传递参数

java - 这在我的通用方法中是否安全?

wordpress - Wordpress Docker容器无法连接到数据库容器

java - 除了在Java中获取屏幕尺寸之外,还可以使用其他方式设置全屏

java - 我可以在机器上同时安装Maven和Gradle吗

amazon-web-services - 为什么我在Docker部署中收到拒绝的权限?