【问题标题】:Docker image google/cloud-sdk gcloud builds submit command failed with error gcloud crashed (FileNotFoundError)Docker 映像 google/cloud-sdk gcloud builds submit 命令失败,错误 gcloud crashed (FileNotFoundError)
【发布时间】:2020-01-30 06:19:15
【问题描述】:

我正在使用 Docker Image 'google/cloud-sdk' 并在容器中使用命令 gcloud builds submit --tag gcr.io/my-project/my-repo

但是这个命令会导致下一个错误ERROR: gcloud crashed (FileNotFoundError): [Errno 2] No such file or directory: './proc/42/task/42/fdinfo/5'

我也使用命令gcloud beta run deploy,这是成功的。

如果有人知道这个问题,请告诉我。

环境
谷歌/cloud-sdk:278
认证:gcloud auth activate-service-account ~

# gcloud version
Google Cloud SDK 278.0.0
alpha 2020.01.24
app-engine-go 
app-engine-java 1.9.78
app-engine-python 1.9.88
app-engine-python-extras 1.9.88
beta 2020.01.24
bigtable 
bq 2.0.52
cbt 
cloud-datastore-emulator 2.1.0
core 2020.01.24
datalab 20190610
gsutil 4.47
kubectl 2020.01.24
pubsub-emulator 0.1.0

【问题讨论】:

  • 您可以尝试运行gcloud components updategcloud init 来重新初始化gcloud。可能是最新更新出了点问题。
  • 此图片为最新版本,无法更新。而且我也使用旧图像,但同样的事情发生了。
  • 请包含完整的docker run ... 命令以显示您如何将Dockerfile 安装到容器中。该错误表明(出于某种原因)gcloud 正在枚举/proc(容器不包括ps)以识别进程(42)正在使用的文件,该进程本身很好奇,但也许它没有找到你的构建源?

标签: docker google-cloud-platform gcloud google-cloud-build


【解决方案1】:

错误并不理想(!?),但以下对我有用:

PROJECT=[[YOUR-PROJECT]]
BILLING=[[YOUR-BILLING]]

gcloud projects create ${PROJECT}
gcloud beta billing projects link ${PROJECT} --billing-account=${BILLING}

gcloud services enable containerregistry.googleapis.com --project=${PROJECT}
gcloud services enable cloudbuild.googleapis.com --project=${PROJECT}

touch quickstart.sh Dockerfile # Add content etc.

docker run \
--interactive --tty \
--env=CLOUDSDK_CONFIG=/config/mygcloud \
--volume=${HOME}/.config/gcloud:/config/mygcloud \
--volume=${PWD}:/59980120 \
google/cloud-sdk gcloud builds submit /59980120 \
--project=${PROJECT} \
--tag=gcr.io/${PROJECT}/freddie

编辑输出:

Creating temporary tarball archive of 10 file(s) totalling 34.2 KiB before compression.
Uploading tarball of [/59980120] to [gs://...
starting build "7bb29351-e947-408c-9b3b-72fed105b336"

FETCHSOURCE
Fetching storage object: gs://...
Copying gs://...
/ [1 files][  2.2 KiB/  2.2 KiB]                                                
Operation completed over 1 objects/2.2 KiB.                                      
BUILD
Already have image (with digest): gcr.io/cloud-builders/docker
Sending build context to Docker daemon  46.59kB
Step 1/3 : FROM alpine
latest: Pulling from library/alpine
c9b1b535fdd9: Pulling fs layer
c9b1b535fdd9: Verifying Checksum
c9b1b535fdd9: Download complete
c9b1b535fdd9: Pull complete
Digest: sha256:ddba4d27a7ffc3f86dd6c2f92041af252a1f23a8e742c90e6e1297bfa1bc0c45
Status: Downloaded newer image for alpine:latest
 ---> e7d92cdc71fe
Step 2/3 : COPY quickstart.sh /
 ---> c76655cf6a85
Step 3/3 : CMD ["/quickstart.sh"]
 ---> Running in b788dcf0de88
Removing intermediate container b788dcf0de88
 ---> 92005e24a933
Successfully built 92005e24a933
Successfully tagged gcr.io/...
PUSH
Pushing gcr.io/...
The push refers to repository [gcr.io/...]
3615e77170c7: Preparing
5216338b40a7: Preparing
5216338b40a7: Layer already exists
3615e77170c7: Pushed
latest: digest: sha256:4374028a72533ca5d14b094005ebeb4aa50fe0521738d8508434f0bd3d7a9dc3 size: 735
DONE

【讨论】:

    【解决方案2】:

    我今天也遇到了同样的问题,原因是我想跑

    gcloud builds submit --tag gcr.io/my-project/my-repo. 
    

    来自我的 docker 容器的根文件夹。我不完全确定是什么导致了问题,但解决方法很简单。

    在交互模式下,只需将cd 放入另一个目录,例如:

    cd /home
    

    如果您要在 clouddk 映像之上构建 docker 映像,请考虑像这样设置 WORKDIR

    WORKDIR /home
    

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 2021-09-08
      • 2021-12-24
      • 2020-03-07
      • 1970-01-01
      • 1970-01-01
      • 2017-07-30
      • 2015-09-11
      • 2018-10-05
      相关资源
      最近更新 更多