dockerfile:
FROM node:10
ADD . /app
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD [ "node", "index.js" ]
cloudbuild.yaml:
steps:
- name: buildcontainer
args: ['build', '-t', 'gcr.io/$PROJECT_ID/coffee2goserver:${SHORT_SHA}', '.']
- name: 'pushcontainer'
args: ["push", "gcr.io/$PROJECT_ID/coffee2goserver"]
错误:
Error response from daemon: pull access denied for buildcontainer, repository does not exist or may require 'docker login'
最佳答案
Google Cloud Build 不提供任何 buildcontainer
或 pushcontainer
您可以在构建中使用的图像(除非您自己创建了它们)。
您可以在您的步骤中使用官方 Docker 镜像,如下所示:
steps:
- name: docker
args: ['build', '-t', 'gcr.io/$PROJECT_ID/coffee2goserver:${SHORT_SHA}', '.']
- name: docker
args: ["push", "gcr.io/$PROJECT_ID/coffee2goserver:${SHORT_SHA}"]
Docker 构建步骤会自动设置为您的 Cloud Build Service Account 的凭据。 .这些权限足以直接与 GCR 交互。
此外,正如 David Maze@ 在他的评论中提到的那样,小心地使用与构建时相同的名称推送您的图像,包括
${SHORT_SHA}
在这种情况下。
关于docker - 来自守护进程 : pull access denied for buildcontainer, 存储库的错误响应不存在或可能需要 'docker login',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59851982/