我试图在github工作流中运行以下docker-compose yml,但我得到
的错误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
。
你需要在标签命令中使用docker-compose build的构建映像结果作为源代码。
由于您在撰写image: backend_prod
中指定了您的图像将以此命名。
尝试将docker组合中的图像更改为如下内容:
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中阅读更多关于image标签的信息