我正在嘗試創建一個作業流,該作業流使用https://github.com/docker/build-push-action構建 docker 映像并將其推送到 docker 集線器。
我有一個檔案夾結構如下的 monorepo:
project
api
Dockerfile
client
這是作業流程:
name: deploy
on:
push:
branches:
- main
paths:
- "api/**"
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
push: true
tags: repo/kheilyshad-api:latest
context: .
file: api/Dockerfile
它總是因此錯誤而失敗:
/usr/bin/docker buildx build --tag ***/kheilyshad-api:latest --iidfile /tmp/docker-build-push-yGQ2mf/iidfile --metadata-file /tmp/docker-build-push-yGQ2mf/metadata-file --file api/Dockerfile --push .
error: could not find api: stat api: no such file or directory
Error: buildx failed with: error: could not find api: stat api: no such file or directory
我必須在根目錄中構建 docker 鏡像,所以我file用來指定 Dockerfile 的路徑。基本上是這樣的
docker build -f ./api/Dockerfile .
但它找不到api檔案夾。我試圖設定檔案./api/Dockerfile,api他們的作業,等等,但沒有。
uj5u.com熱心網友回復:
好像你沒有檢查回購。嘗試添加actions/checkout@v2到您的步驟:
steps:
- uses: actions/checkout@v2
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/312811.html
