虽然存在可执行文件,但在docker映像中未找到docker凭据gcr

虽然存在可执行文件,但在docker映像中未找到docker凭据gcr,docker,google-cloud-sdk,Docker,Google Cloud Sdk,我正在尝试为我的Gitlab CI管道构建Docker映像,其中包含Docker client+gcloud以及以下gcloud组件: 库贝特尔 docker凭证gcr 这是我的dockerfile: FROM docker:git RUN mkdir /opt \ && cd /opt \ && wget -q https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google

我正在尝试为我的Gitlab CI管道构建Docker映像,其中包含Docker client+gcloud以及以下gcloud组件:

  • 库贝特尔
  • docker凭证gcr
这是我的dockerfile:

FROM docker:git

RUN mkdir /opt \
    && cd /opt \
    && wget -q https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-152.0.0-linux-x86_64.tar.gz \
    && tar -xzf google-cloud-sdk-152.0.0-linux-x86_64.tar.gz \
    && rm google-cloud-sdk-152.0.0-linux-x86_64.tar.gz \
    && ln -s /opt/google-cloud-sdk/bin/gcloud /usr/bin/gcloud \
    && apk -q update \
    && apk -q add python \
    && apk add --update libintl \
    && apk add --virtual build_deps gettext \
    && cp /usr/bin/envsubst /usr/local/bin/envsubst \
    && apk del build_deps \
    && rm -rf /var/cache/apk/* \
    && echo "y" | gcloud components install kubectl docker-credential-gcr \
    && ln -s /opt/google-cloud-sdk/bin/kubectl /usr/bin/kubectl \
    && ln -s /opt/google-cloud-sdk/bin/docker-credential-gcr /usr/bin/docker-credential-gcr
在我的CI流中,我需要运行docker credential gcr(因为)

docker-credential gcr
可执行文件正确安装在
/opt/google cloud sdk/bin
中,如运行
docker-run-i-t gitlabci test ls/opt/google cloud sdk/bin所示

它也在
/usr/bin
内正确simlinked,如
docker run-i-t gitlabci test ls-la/usr/bin

然而,尝试用下面的任何一种方法调用它都是失败的

docker run -i -t gitlabci-test docker-credential-gcr
docker run -i -t gitlabci-test /usr/bin/docker-credential-gcr
docker run -i -t gitlabci-test /opt/google-cloud-sdk/bin/docker-credential-gcr
错误消息:

/usr/local/bin/docker-entrypoint.sh: exec: line 20: docker-credential-gcr: not found
另一方面,运行kubectl组件工作正常

docker run -i -t gitlabci-test kubectl version

知道我如何解决这个问题,以便能够使用容器运行docker credential gcr吗