Azure-Functions icon indicating copy to clipboard operation
Azure-Functions copied to clipboard

Docker images built using `docker buildx build` fail to pull through VNet

Open monry opened this issue 1 year ago • 2 comments

Images built and pushed to the Container Registry using docker buildx build --push in GitHub Actions will fail to pull from the Functions App with the Pull image over VNet setting enabled. Images built with docker build and pushed with docker push can be pulled via VNet without any problems.

The following error is logged in the Deployment Center log.

2024-12-01T16:11:18.466Z INFO - Attempting to pull image crdijpw20241201.azurecr.io/crdijpw20241201/demo:20241201155149-buildx from VNET.
2024-12-01T16:11:19.310Z ERROR - Image pull for crdijpw20241201.azurecr.io/crdijpw20241201/demo:20241201155149-buildx failed. UnexpectedFaliure
2024-12-01T16:11:19.317Z ERROR - Pulling docker image crdijpw20241201.azurecr.io/crdijpw20241201/demo:20241201155149-buildx over VNET failed.
2024-12-01T16:11:19.322Z WARN - Image pull failed. Defaulting to local copy if present.
2024-12-01T16:11:19.328Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)

The project used for verification is a simple one based on the one generated by func init --docker, modified to show the date and time the image was built. The verification project and deployment workflow are available in this repository. Of the workflows included in this repository, pulls via VNet succeed only when deployed by running build-with-plain-commands.yml; build-with-buildx.yml and build-with-marketplace-actions.yml fail.

monry avatar Dec 01 '24 16:12 monry

I lost an embarrassingly long time to this when working on App Services. The typo in 'UnexpectedFaliure' should assist in tracing the issue.

27Bslash6 avatar Mar 06 '25 02:03 27Bslash6

do you have any hints? experiencing exactly same error. except it's a normal azure web app/linux, not a function app. In container registry logs I see it can pull a manifest, then when it pulls something else (probably a layer) it gets a 404, and that causes the failure. But without vnet pulling it of course works.

webczat avatar Apr 11 '25 15:04 webczat