docker / cli

The Docker CLI
Apache License 2.0
4.74k stars 1.88k forks source link

incorrect docker client behavior when using a buildx remote driver #5193

Open sergeimonakhov opened 1 week ago

sergeimonakhov commented 1 week ago

Description

hi,

i use remote driver for buildx:

docker buildx create \
  --name remote-kubernetes \
  --driver remote \
  tcp://buildkitd.default.svc:1234 \
  --use

docker buildx build work perfectly:

docker buildx build -t test . --push

but if use docker build:

docker build -t test . --push

i got:

ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

As far as I understand, this is due to docker context:

NAME        DESCRIPTION                               DOCKER ENDPOINT               ERROR
default *   Current DOCKER_HOST based configuration   unix:///var/run/docker.sock

Reproduce

docker buildx create \
  --name remote-kubernetes \
  --driver remote \
  tcp://buildkitd.default.svc:1234 \
  --use
docker build -t test . --push

Expected behavior

docker build must run build on default buildx executor

docker version

Client:
 Version:           26.1.4
 API version:       1.45
 Go version:        go1.21.11
 Git commit:        5650f9b
 Built:             Wed Jun  5 11:27:57 2024
 OS/Arch:           linux/amd64
 Context:           default
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

docker info

Client:
 Version:    26.1.4
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.15.1
    Path:     /usr/local/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.27.2
    Path:     /usr/local/libexec/docker/cli-plugins/docker-compose

Server:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info

Additional Info

docker buildx ls:

NAME/NODE                DRIVER/ENDPOINT                                         STATUS    BUILDKIT   PLATFORMS
remote-kubernetes*       remote
 \_ remote-kubernetes0    \_ tcp://buildkitd.default.svc:1234   running   v0.14.1    linux/amd64, linux/amd64/v2, linux/amd64/v3
default                                                                          error

Cannot load builder default: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?