【问题标题】:`RUN ./gradlew build -x test` command error`RUN ./gradlew build -x test` 命令错误
【发布时间】:2021-05-06 10:17:31
【问题描述】:

我一直在尝试使用 docker 安装导体,但我一直在出错。我尝试使用本文中给出的 [https://github.com/Netflix/conductor/tree/main/docker][1] 命令。但是第一个命令不起作用(gradlew build)我改为使用 gradlew init。运行第二个命令时(docker build -tconductor:server ./server)

 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 923B                                                                               0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load metadata for docker.io/library/openjdk:8-jre-alpine                                            5.3s
 => [internal] load metadata for docker.io/library/openjdk:8-jdk                                                   5.3s
 => [auth] library/openjdk:pull token for registry-1.docker.io                                                     0.0s
 => [internal] load build context                                                                                  0.1s
 => => transferring context: 1.33kB                                                                                0.0s
 => [builder 1/4] FROM docker.io/library/openjdk:8-jdk@sha256:96c15b4ddc92615cc8ab30b60deba963232de521784661e1ab8  0.0s
 => CANCELED [stage-1 1/6] FROM docker.io/library/openjdk:8-jre-alpine@sha256:f362b165b870ef129cbe730f29065ff3739  0.9s
 => => resolve docker.io/library/openjdk:8-jre-alpine@sha256:f362b165b870ef129cbe730f29065ff37399c0aa8bcab3e44b51  0.0s
 => => sha256:f362b165b870ef129cbe730f29065ff37399c0aa8bcab3e44b51c302938c9193 1.64kB / 1.64kB                     0.0s
 => => sha256:b2ad93b079b1495488cc01375de799c402d45086015a120c105ea00e1be0fd52 947B / 947B                         0.0s
 => => sha256:f7a292bbb70c4ce57f7704cc03eb09e299de9da19013b084f138154421918cb4 3.42kB / 3.42kB                     0.0s
 => => sha256:e7c96db7181be991f19a9fb6975cdbbd73c65f4a2681348e63a141a2192a5f10 0B / 2.76MB                         0.9s
 => => sha256:f910a506b6cb1dbec766725d70356f695ae2bf2bea6224dbe8c7c6ad4f3664a2 0B / 238B                           0.9s
 => => sha256:b6abafe80f63b02535fc111df2ed6b3c728469679ab654e03e482b6f347c9639 0B / 54.94MB                        0.9s
 => CACHED [builder 2/4] COPY . /conductor                                                                         0.0s
 => CACHED [builder 3/4] WORKDIR /conductor                                                                        0.0s
 => ERROR [builder 4/4] RUN ./gradlew build -x test                                                                0.9s
------
 > [builder 4/4] RUN ./gradlew build -x test:
#12 0.803 /bin/sh: 1: ./gradlew: not found
------
executor failed running [/bin/sh -c ./gradlew build -x test]: exit code: 127

我正在使用窗户 我尝试将 RUN ./gradlew build -x test 更改为 .\gradlew,gradlew,gradle,..\gradlew,../gradlew 但没有任何效果。

谢谢

【问题讨论】:

  • 您能否编辑问题以包含minimal reproducible example,而不仅仅是构建日志? gradlew 脚本是否存在于源代码树中,在您作为参数传递给 docker build 的目录中?
  • 是的 gradlew build 存在
  • 另一件要检查的事情,因为您在 Windows 系统上,是 gradlew 脚本是否有 DOS 或 Unix 行结尾。如果它有 DOS 行尾,Linux 容器将尝试运行 /bin/sh\r 作为脚本解释器并失败。
  • 好的,谢谢,我试试在Linux上运行看看
  • @DavidMaze 先生,我尝试在 ubuntu 上运行它确实运行但现在我有新错误,它说找不到任务“测试”

标签: java docker netflix-conductor


【解决方案1】:

根本原因是 gradlew 文件在 windows 上是 DOS 格式。在compose或build之前需要提前将文件格式转成unix格式,所以需要添加:

RUN apt-get update && apt-get install -y dos2unix && dos2unix gradlew
RUN find ./ -name "*.java" | xargs dos2unix

之前

RUN ./gradlew build -x test

在服务器折叠的DockerFile中。

【讨论】:

    【解决方案2】:

    让我透露一下我已执行的步骤,在 https://github.com/Netflix/conductor/issues/1814 上进行了解释。

    1. 删除您当前的指挥文件夹
    2. 运行 git config --global core.autocrlf false;或者如果您过去运行过,请确保它已经设置
    3. 再次克隆导体回购
    4. 通过打开 DockerFile 检查行尾是否通过 NotePad++ 显示为 CRLF,例如=> 指挥/码头工人/服务器/DockerFile
    5. 在导体/docker 上运行 docker-compose up

    这对我有用!

    【讨论】:

      猜你喜欢
      • 2021-07-29
      • 2015-08-24
      • 2021-07-03
      • 2021-08-08
      • 2021-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多