java - Gradle 无法在 Mac 上运行 docker 任务

标签 java docker gradle docker-for-mac

我正在使用 Palantir 的 gradle-docker 插件。当我尝试构建 docker 时,我收到以下错误消息:

启动进程'command 'docker''。工作目录:/Users/msolomkin/Projects/glossary/discovery-server/build/docker 命令:docker build --build-arg JAR_FILE=discovery-server-0.0.1-SNAPSHOT.jar -t solomkinmv/discovery-server .

但是当我手动进入工作目录 (/Users/msolomkin/Projects/glossary/discovery-server/build/docker) 并运行命令 docker build --build-arg JAR_FILE=discovery-server-0.0.1-SNAPSHOT.jar -t solomkinmv/discovery-server 。一切正常。

此外,我的 Travis 能够构建 docker 镜像。看起来这是我为 Mac 安装 Docker 的问题。

Docker for Mac 版本:17.12.0-ce-mac49 (21995)

Gradle 版本:4.4.1

这是我的任务配置:

docker {
    name "solomkinmv/${bootJar.baseName}"
    println "==> Docker task for ${name}"
    files bootJar.archivePath
    buildArgs(['JAR_FILE': "${bootJar.archiveName}"])
}

这里是 GitHub 的链接:https://github.com/solomkinmv/glossary/tree/discovery-server/discovery-server

为 Docker for Mac 配置 env 变量以能够运行 gradle 任务的正确方法是什么?

最佳答案

尝试删除您所有的${DOCKER_*} 环境变量并运行它。许多 docker 实用程序操作这些变量,有时它们会得到不一致的值。我发现仅仅删除它们就解决了我从 propmt 运行 docker 命令的问题。

希望这对您有所帮助。

关于java - Gradle 无法在 Mac 上运行 docker 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48380168/

相关文章:

reactjs - 在Linux Docker容器中运行React应用

apache - 运行 apache 的 Docker 容器总是暴露端口 80

每个工具链的 Gradle native 库

java - GridBagLayout 中底部按钮

java - 为什么使用 char[] 而不是 String?

nginx - Gitlab docker注册表拉失败EOF

android - 需要Gradle 1.6版。当前版本是1.8

android - 应用程序 :transformClassesWithJarMergingForDebug'. TransformException : java. util.zip.ZipException:运行 gradlew assembleDebug 时出现重复条目

java - 如何处理spring Controller 参数类型异常

java - 比较 Java 中的日期时间 DAY hh :mm-hh:mm