Я пытаюсь запустить следующий 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
Что я делаю не так или подскажите как это исправить?
Решение проблемы
Вы пытаетесь пометить и изобразить изображение, используя в качестве источника несуществующее изображение.
Образ 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 можно прочитать здесь.
Комментариев нет:
Отправить комментарий