【问题标题】:standard_init_linux.go:211: exec user process caused "no such file or directory" on Windowsstandard_init_linux.go:211:exec 用户进程在 Windows 上导致“没有这样的文件或目录”
【发布时间】:2019-12-13 09:57:24
【问题描述】:

我有一种情况,我将代码存储在 GitHub 中,这是一个用于克隆 repo 并构建 docker 映像的 Jenkins 管道。但是当运行图像时出现以下错误:

standard_init_linux.go:211: exec user process caused "no such file or directory"

但是我可以使用我的本地目录和命令行创建一个 docker 镜像来成功构建和运行镜像。

注意:我正在使用 Windows 和 Docker Desktop for Windows,并安装了 Jenkins

我希望 docker 映像可以使用命令行按预期运行。

【问题讨论】:

  • 这与其他人在尝试运行不存在的程序或需要不存在的解释器的程序时遇到的错误相同。请提供足够的详细信息以允许某人重现您的特定错误形式,希望这不是由文件不存在引起的。
  • 您是否完全限定了要运行的可执行文件的路径?如果不是,那么执行过程中的PATH 是什么?我们不希望问题包含不相关的细节,但这些细节与手头的错误极为相关。
  • 感谢您的回复,我想我可能已经找到了这个问题的答案。我在 Dockerfile 中包含了 dos2unix 并在我的 .sh 文件上运行它以转换为 unix。

标签: docker jenkins-pipeline dockerfile


【解决方案1】:

这是因为您在 Windows 行尾样式 \r\n 中从 github 签出文件

您需要为所有 .sh/.bash 文件手动将 EOL 样式转换为 \n

【讨论】:

  • 2021 年 10 月!仍然有效。使用 pycharm shell 脚本格式化程序进入我的 .sh 和美化代码
【解决方案2】:

这也可能是因为图像中缺少动态链接库。

【讨论】:

    猜你喜欢
    • 2020-08-03
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 2018-12-07
    • 2020-10-25
    • 2019-01-01
    • 2019-09-19
    相关资源
    最近更新 更多