Abdennour TOUMI
Abdennour TOUMI

Reputation: 93381

docker buildkit not supported by daemon in AWS EKS kubernetes cluster

I am using Build Toolkit to build docker image for each microservice.

./build.sh

export DOCKER_BUILDKIT=1
# ....
docker build -t ....
# ... 

This works on my machine with docker (18.09.2).

However, it does not work with Jenkins, that I setup as following :

When Jenkins executes this pipeline, it shows this error :

buildkit not supported by daemon

I am not sure which software should I upgrade to make docker-buildkit work ? and to which version ?

Or

Or

Upvotes: 5

Views: 4525

Answers (2)

Yasen
Yasen

Reputation: 4504

As per docker-ce sources, there are two requirements to make successful check isSessionSupported for starting buildkit session:

  • dockerCli.ServerInfo().HasExperimental
  • versions.GreaterThanOrEqualTo(dockerCli.Client().ClientVersion(), "1.31"

So:

  • check version of your docker-cli library
  • and is HasExperimental option enabled.

To check if it has Experimantal support, run:

docker version -f '{{.Server.Experimental}}'

Upvotes: 5

BMitch
BMitch

Reputation: 264661

Docker buildkit support came out of experimental in 18.09, so you may need to upgrade docker inside of EKS:

EKS (v1.12.10-eks-ffbd9 , docker://18.6.1

Or perhaps you have an old dind image (the 18-dind should be new enough, but an older version of this tag pointing to 18.06 or 18.03 would not). You can try 18.09-dind and 19-dind which should both work if the build is actually happening inside dind.

Upvotes: 2

Related Questions