首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的GitLab构建失败并出现错误:“在$PATH中找不到可执行文件”

为什么我的GitLab构建失败并出现错误:“在$PATH中找不到可执行文件”
EN

Stack Overflow用户
提问于 2021-03-22 16:49:01
回答 1查看 479关注 0票数 0

在构建过程中,我反复得到以下错误

代码语言:javascript
复制
Running with gitlab-runner 13.8.0 (775dd39d)
  on docker+machine ABwVypz2
Preparing the "docker+machine" executor
00:16
Using Docker executor with image docker:latest ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
Using docker image sha256:6e82c575b16fb92f31c77a6ba88cadffa1720acd6e33526d82814232a82eb780 for docker:dind with digest docker@sha256:9f9a930bc5ec2e000867a87de844cae04590bafe929340e2fae4cb959cf6bc8f ...
ERROR: Preparation failed: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "dockerd-entrypoint.sh": executable file not found in $PATH: unknown (docker.go:502:0s)
Will be retried in 3s ...
Using Docker executor with image docker:latest ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
Using docker image sha256:6e82c575b16fb92f31c77a6ba88cadffa1720acd6e33526d82814232a82eb780 for docker:dind with digest docker@sha256:9f9a930bc5ec2e000867a87de844cae04590bafe929340e2fae4cb959cf6bc8f ...
ERROR: Preparation failed: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "dockerd-entrypoint.sh": executable file not found in $PATH: unknown (docker.go:502:0s)
Will be retried in 3s ...
Using Docker executor with image docker:latest ...
Starting service docker:dind ...
Pulling docker image docker:dind ...
Using docker image sha256:6e82c575b16fb92f31c77a6ba88cadffa1720acd6e33526d82814232a82eb780 for docker:dind with digest docker@sha256:9f9a930bc5ec2e000867a87de844cae04590bafe929340e2fae4cb959cf6bc8f ...
ERROR: Preparation failed: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "dockerd-entrypoint.sh": executable file not found in $PATH: unknown (docker.go:502:0s)
Will be retried in 3s ...
ERROR: Job failed (system failure): Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: exec: "dockerd-entrypoint.sh": executable file not found in $PATH: unknown (docker.go:502:0s)

简而言之,我有下面的.gitlab-ci.yaml

代码语言:javascript
复制
image: docker:latest
services:
    - docker:dind

stages:
    - build

.build-image:
    stage: build
    script:
        - docker build ${TAG} ${BUILD_ARGS} -f ${PATH}/${DOCKERFILE} ${PATH}

build-legacy-php:
    extends: .build-image
    parallel:
        matrix:
            - PHP_VERSION: ['5.6', '7.2']
    variables:
        BUILD_ARGS: --build-arg PHP_VERSION=${PHP_VERSION}
        PATH: php
        DOCKERFILE: Dockerfile.legacy
        TAG: php:$PHP_VERSION-latest
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-22 16:49:01

经过多次搜索、重启服务、清除缓存和解决这个问题,我变得很愚蠢。GitLab甚至告诉我错误输出中的问题是什么。我设置了PATH变量,系统使用它来知道在哪里查找可执行文件,所以我的更改导致它失去了查找自己的可执行文件的能力。

在yaml中将PATH重命名为BUILD_PATH修复了100%的错误。

我添加这个是因为我在搜索时找不到任何参考资料。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66742813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档