faas-cli might be incompatible for docker versions 23.0.0 and above
Open
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 816
- Forks
- 230
- Avg merge
- 6h 4m
- Merged PRs (30d)
- 1
Description
Expected Behaviour
faas-cli up -f pydict.yml works fine and builds an image
Current Behaviour
- But for docker versions 23.0.0 or above the faas-cli up command shows this error:
Errors received during build:
- [pydict] received non-zero exit code from build, error: failed to fetch metadata: fork/exec /usr/local/lib/docker/cli-plugins/docker-buildx: no such file or directory
ERROR: BuildKit is enabled but the buildx component is missing or broken.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/
- Build works fine when docker version
20.10.24is used.
List All Possible Solutions and Workarounds
- The issue is probably because of the changes made in docker
23.0.0release regarding the docker build: https://docs.docker.com/engine/release-notes/23.0/#new - So I think we can tackle this issue by setting env var
DOCKER_BUILDKITto0when docker version is23.0.0or above
Which Solution Do You Recommend?
Steps to Reproduce (for bugs)
Can reproduce the issue by trying to build image through openfaas with docker release version 23.0.0 or above.
Context
Your Environment
- FaaS-CLI version ( Full output from:
faas-cli version):
0.16.3 - Docker version ( Full output from:
docker version):
23.0.4 (when error occurs) - Are you using Docker Swarm (FaaS-swarm ) or Kubernetes (FaaS-netes)?
Kubernetes - Operating System and version (e.g. Linux, Windows, MacOS):
wsl: Ubuntu 20.04.5 LTS - Link to your project or a code example to reproduce issue:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with builder/build.go around the referenced DOCKER_BUILDKIT handling, then reproduce faas-cli up -f pydict.yml using Docker 20.10.24 and 23.0.4 or later. Compare the build behavior and verify the chosen compatibility change allows the image build to complete with the affected Docker versions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100