Ответ об ошибке от демона: доступ по запросу запрещен для buildcontainer, хранилище не существует или может потребоваться «docker вход в систему» - PullRequest
1 голос
/ 22 января 2020

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"]

ошибка:

Ошибка ответа от демона: доступ по запросу запрещен для buildcontainer, хранилище не существует или может потребоваться «docker login»

1 Ответ

2 голосов
/ 22 января 2020

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 автоматически устанавливается с учетными данными для вашей учетной записи службы облачного построения . Этих прав достаточно для непосредственного взаимодействия с GCR.

Кроме того, как упомянул Дэвид Мэйз @ в своем комментарии, будьте осторожны, чтобы нарисовать ваше изображение с тем же именем, с которым оно было построено, включая ${SHORT_SHA}. в этом случае.

...