docker - 构建映像时,适用于 Windows 的 Docker 退出并显示代码 127
问题描述
当我尝试构建此 Docker-Image 时,出现以下错误:
FROM java:8
WORKDIR /app
ADD . /app
EXPOSE 8080
RUN ./gradlew build
CMD ./gradlew bootRun
当我只是使用“gradlew build”构建应用程序时,它会运行,当我尝试使用 Mac 运行这个 Docker Image 时,它也可以工作,只是不适用于 Windows
编辑:
解决方案
这不是一个很好的答案,但我发现当 Windows 将文件从 Windows 挂载到 Docker 时,它会在挂载的文件上留下类似 Windows 的行尾。在你的 Dockerfile 中解决它的一个 janky 方法是在容器中安装 dos2unix 并添加一个
RUN dos2unix gradlew
在执行构建过程之前。不幸的是,这是一个糟糕的解决方案。希望即将发布的 WSL2 上的 Docker for Windows 能够更好地解决这个问题,但现在你被这个笨拙的解决方案困住了。
推荐阅读
- jquery - 如何根据匹配的 td 内容附加文本
- javascript - 8thWall BabylonJS 演示“点击放置”间隙
- swift - UIScrollView 底部的控件不起作用
- ios - 如何以编程方式将现有 GCP 存储桶集成/访问到 Firebase Swift 应用程序?
- python - 在 Python 中使用 id 函数的原因是什么?
- vba - 如何通过“分配宏...”窗口将日期选择器的值传递给宏?
- sql - 提取表过程 Oracle
- android - 无法使用转换 JetifyTransform 转换文件“library-1.2.0.aar”以匹配属性 {artifactType=processed-aar}
- chocolatey - 在巧克力中是否可以暂停下载和安装软件包并稍后继续?
- linux - 仅适用于当前堆栈的 Linux 核心转储