Ошибка ответа от демона: Нет такого изображения

Я пытаюсь запустить следующий yml-файл docker-compose в рабочем процессе github, но получаю сообщение об ошибке

Error response from daemon: No such image: ghcr.io/whats/app/backend/222243434353535353f

Ошибка возникает в пункте «Отметить изображения» ниже

Файл docker Ci

env:
    WEB_IMAGE_BASE: ghcr.io/$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')/backend
    WEB_IMAGE: ghcr.io/$(echo $GITHUB_REPOSITORY | tr '[:upper:]' '[:lower:]')/backend:$( echo $GITHUB_SHA )

jobs:
  build:
    name: Build Docker Images
    runs-on: ubuntu-latest
    steps:
      - name: Prepare images
        run: |
          echo "WEB_IMAGE=$(echo ${{env.WEB_IMAGE}} )" >> $GITHUB_ENV
          echo "WEB_IMAGE_BASE=$(echo ${{env.WEB_IMAGE_BASE}} )" >> $GITHUB_ENV

      - name: Build images
        run: |
          docker-compose -f ci.yml build backend

      - name: Tag images
        run: |
          docker tag ${{ env.WEB_IMAGE }}  ${{ env.WEB_IMAGE_BASE }}:latest

ci.yml это

 ​version​: ​"​3.9​" 
  
 ​services​: 
 ​  ​backend​: 
 ​    ​image​: ​backend_prod
 

Что я делаю не так или подскажите как это исправить?

Не относится к вашей проблеме, но это бесполезные echos в обратных кавычках

tripleee 02.05.2022 21:13
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
1
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы пытаетесь пометить и изобразить изображение, используя в качестве источника несуществующее изображение.

Изображение ghcr.io/whats/app/backend/222243434353535353f нигде не создавалось.

Вам нужно использовать в качестве источника в команде tag построенный результат сборки docker-compose.

Поскольку вы указываете в своем сочинении image: backend_prod, ваше изображение будет названо этим.

Попробуйте изменить изображение в докере на что-то вроде:

version: "3.9"
services:
  backend:
    build:
      context: .
      dockerfile: ./backend/dockerfile
    image: backend_prod:local

И измените свой ci-файл:

- name: Tag images
    run: |
      docker tag backend_prod:local ${{ env.WEB_IMAGE_BASE }}:latest

Подробнее о теге изображения можно прочитать в docker-compose здесь.

Можете ли вы отредактировать свой вопрос с помощью файла ci.yaml?

Sergio Santiago 02.05.2022 22:46

Я редактирую свой ответ. Я не проверял, но вы можете иметь представление

Sergio Santiago 02.05.2022 22:57

Да! это дало мне некоторое направление. Хитрость заключалась в том, чтобы просто поменять значение изображения в ci.yml image: "${WEB_IMAGE}" и оставить все остальное без изменений.

Joseph Adam 02.05.2022 23:15

Хорошо, если это поможет, пожалуйста, отметьте как ответ, спасибо

Sergio Santiago 03.05.2022 00:39

Другие вопросы по теме