Skip to content

Error during build using corporate proxy #4725

Description

@egorov-denis

We are using corporate proxy and all our outside traffic goes only through a proxy. I can't connect to internet without a proxy.

I'm trying to build new image based on another image.

Dockerfile looks like:

FROM nginx:1.13-alpine
COPY conf /etc/nginx/conf.d/default.conf

The error message:

[+] Building 30.2s (3/3) FINISHED                                                                                                                                                                                             docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                                                    0.0s
 => => transferring dockerfile: 101B                                                                                                                                                                                                    0.0s
 => ERROR [internal] load metadata for docker.io/library/nginx:1.13-alpine                                                                                                                                                             30.1s
 => [auth] library/nginx:pull token for registry-1.docker.io                                                                                                                                                                            0.0s
------
 > [internal] load metadata for docker.io/library/nginx:1.13-alpine:
------
Dockerfile:1
--------------------
   1 | >>> FROM nginx:1.13-alpine
   2 |     COPY conf /etc/nginx/conf.d/default.conf
--------------------
ERROR: failed to solve: DeadlineExceeded: DeadlineExceeded: DeadlineExceeded: nginx:1.13-alpine: failed to authorize: DeadlineExceeded: failed to fetch oauth token: Post "https://auth.docker.io/token": dial tcp 54.227.20.253:443: i/o timeout

But another Dockerfile works well:

FROM mcr.microsoft.com/dotnet/aspnet:6.0
COPY conf /etc/nginx/conf.d/default.conf

Also manually pulling image works well. A command for manually pulling:

docker pull nginx:1.13-alpine

A proxy is configured in Docker (desktop) for both http and https connections and also in windows settings.

I've tried to use debug command docker --debug build . and it returns:

Dockerfile:1
--------------------
   1 | >>> FROM nginx:1.13-alpine
   2 |     COPY conf /etc/nginx/conf.d/default.conf
--------------------
ERROR: failed to solve: DeadlineExceeded: DeadlineExceeded: DeadlineExceeded: nginx:1.13-alpine: failed to authorize: DeadlineExceeded: failed to fetch oauth token: Post "https://auth.docker.io/token": dial tcp 54.227.20.253:443: i/o timeout
23236 v0.12.1-desktop.4 C:\Program Files\Docker\cli-plugins\docker-buildx.exe --debug buildx build .
github.com/moby/buildkit/session/auth/authprovider.(*authProvider).FetchToken.func2
        github.com/moby/buildkit@v0.12.0/session/auth/authprovider/authprovider.go:100
github.com/moby/buildkit/session/auth/authprovider.(*authProvider).FetchToken
        github.com/moby/buildkit@v0.12.0/session/auth/authprovider/authprovider.go:124
github.com/moby/buildkit/session/auth._Auth_FetchToken_Handler.func1
        github.com/moby/buildkit@v0.12.0/session/auth/auth.pb.go:954
github.com/moby/buildkit/session.NewSession.ChainUnaryServer.func3.1.1
        github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:25
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1
        go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.40.0/interceptor.go:342
github.com/moby/buildkit/session.NewSession.filterServer.func1
        github.com/moby/buildkit@v0.12.0/session/session.go:177
github.com/moby/buildkit/session.NewSession.ChainUnaryServer.func3.1.1
        github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:25
github.com/moby/buildkit/session.NewSession.ChainUnaryServer.func3
        github.com/grpc-ecosystem/go-grpc-middleware@v1.3.0/chain.go:34
github.com/moby/buildkit/session/auth._Auth_FetchToken_Handler
        github.com/moby/buildkit@v0.12.0/session/auth/auth.pb.go:956
google.golang.org/grpc.(*Server).processUnaryRPC
        google.golang.org/grpc@v1.53.0/server.go:1336
google.golang.org/grpc.(*Server).handleStream
        google.golang.org/grpc@v1.53.0/server.go:1704
google.golang.org/grpc.(*Server).serveStreams.func1.2
        google.golang.org/grpc@v1.53.0/server.go:965
runtime.goexit
        runtime/asm_amd64.s:1650

183  /usr/local/bin/dockerd --containerd /run/containerd/containerd.sock --pidfile /run/desktop/docker.pid --swarm-default-advertise-addr=eth0 --host-gateway-ip 192.168.65.254
github.com/moby/buildkit/session.grpcClientConn.ChainUnaryClient.func6.1.1
        /root/build-deb/engine/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:72
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryClientInterceptor.func1
        /root/build-deb/engine/vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go:107
github.com/moby/buildkit/session.grpcClientConn.filterClient.func4
        /root/build-deb/engine/vendor/github.com/moby/buildkit/session/session.go:186
github.com/moby/buildkit/session.grpcClientConn.ChainUnaryClient.func6.1.1
        /root/build-deb/engine/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:72
github.com/moby/buildkit/session.grpcClientConn.ChainUnaryClient.func6
        /root/build-deb/engine/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:81
google.golang.org/grpc.(*ClientConn).Invoke
        /root/build-deb/engine/vendor/google.golang.org/grpc/call.go:35
github.com/moby/buildkit/session/auth.(*authClient).FetchToken
        /root/build-deb/engine/vendor/github.com/moby/buildkit/session/auth/auth.pb.go:869
github.com/moby/buildkit/session/auth.FetchToken.func1
        /root/build-deb/engine/vendor/github.com/moby/buildkit/session/auth/auth.go:59
github.com/moby/buildkit/session.(*Manager).Any
        /root/build-deb/engine/vendor/github.com/moby/buildkit/session/group.go:82
github.com/moby/buildkit/session/auth.FetchToken
        /root/build-deb/engine/vendor/github.com/moby/buildkit/session/auth/auth.go:56
github.com/moby/buildkit/util/resolver.(*authHandler).fetchToken
        /root/build-deb/engine/vendor/github.com/moby/buildkit/util/resolver/authorizer.go:341
github.com/moby/buildkit/util/resolver.(*authHandler).doBearerAuth.func1
        /root/build-deb/engine/vendor/github.com/moby/buildkit/util/resolver/authorizer.go:307
github.com/moby/buildkit/util/flightcontrol.(*call[...]).run
        /root/build-deb/engine/vendor/github.com/moby/buildkit/util/flightcontrol/flightcontrol.go:121
sync.(*Once).doSlow
        /usr/local/go/src/sync/once.go:74
sync.(*Once).Do
        /usr/local/go/src/sync/once.go:65
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1650

183  /usr/local/bin/dockerd --containerd /run/containerd/containerd.sock --pidfile /run/desktop/docker.pid --swarm-default-advertise-addr=eth0 --host-gateway-ip 192.168.65.254
github.com/moby/buildkit/frontend/dockerfile/dockerfile2llb.toDispatchState.toDispatchState.func3.func4
        /root/build-deb/engine/vendor/github.com/moby/buildkit/frontend/dockerfile/dockerfile2llb/convert.go:413
golang.org/x/sync/errgroup.(*Group).Go.func1
        /root/build-deb/engine/vendor/golang.org/x/sync/errgroup/errgroup.go:75
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1650

23236 v0.12.1-desktop.4 C:\Program Files\Docker\cli-plugins\docker-buildx.exe --debug buildx build .
google.golang.org/grpc.getChainUnaryInvoker.func1
        google.golang.org/grpc@v1.53.0/clientconn.go:361
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryClientInterceptor.func1
        go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.40.0/interceptor.go:99
github.com/moby/buildkit/client.New.filterInterceptor.func6
        github.com/moby/buildkit@v0.12.0/client/client.go:403
google.golang.org/grpc.DialContext.chainUnaryClientInterceptors.func3
        google.golang.org/grpc@v1.53.0/clientconn.go:349
google.golang.org/grpc.(*ClientConn).Invoke
        google.golang.org/grpc@v1.53.0/call.go:35
github.com/moby/buildkit/frontend/gateway/pb.(*lLBBridgeClient).Solve
        github.com/moby/buildkit@v0.12.0/frontend/gateway/pb/gateway.pb.go:2875
github.com/moby/buildkit/client.(*gatewayClientForBuild).Solve
        github.com/moby/buildkit@v0.12.0/client/build.go:89
github.com/moby/buildkit/frontend/gateway/grpcclient.(*grpcClient).Solve
        github.com/moby/buildkit@v0.12.0/frontend/gateway/grpcclient/client.go:411
github.com/docker/buildx/build.BuildWithResultHandler.func3.1.2
        github.com/docker/buildx/build/build.go:950
github.com/moby/buildkit/frontend/gateway/grpcclient.(*grpcClient).Run
        github.com/moby/buildkit@v0.12.0/frontend/gateway/grpcclient/client.go:214
github.com/moby/buildkit/client.(*Client).Build.func2
        github.com/moby/buildkit@v0.12.0/client/build.go:59
github.com/moby/buildkit/client.(*Client).solve.func3
        github.com/moby/buildkit@v0.12.0/client/solve.go:283
golang.org/x/sync/errgroup.(*Group).Go.func1
        golang.org/x/sync@v0.3.0/errgroup/errgroup.go:75
runtime.goexit
        runtime/asm_amd64.s:1650

183  /usr/local/bin/dockerd --containerd /run/containerd/containerd.sock --pidfile /run/desktop/docker.pid --swarm-default-advertise-addr=eth0 --host-gateway-ip 192.168.65.254
github.com/moby/buildkit/frontend/gateway.(*llbBridgeForwarder).Return
        /root/build-deb/engine/vendor/github.com/moby/buildkit/frontend/gateway/gateway.go:923
github.com/moby/buildkit/control/gateway.(*GatewayForwarder).Return
        /root/build-deb/engine/vendor/github.com/moby/buildkit/control/gateway/gateway.go:135
github.com/moby/buildkit/frontend/gateway/pb._LLBBridge_Return_Handler.func1
        /root/build-deb/engine/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.pb.go:3216
github.com/docker/docker/api/server/router/grpc.NewRouter.ChainUnaryServer.func1.1.1
        /root/build-deb/engine/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1
        /root/build-deb/engine/vendor/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc/interceptor.go:376
github.com/docker/docker/api/server/router/grpc.unaryInterceptor.func1
        /root/build-deb/engine/api/server/router/grpc/grpc.go:58
github.com/docker/docker/api/server/router/grpc.NewRouter.ChainUnaryServer.func1.1.1
        /root/build-deb/engine/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:25
github.com/docker/docker/api/server/router/grpc.NewRouter.ChainUnaryServer.func1
        /root/build-deb/engine/vendor/github.com/grpc-ecosystem/go-grpc-middleware/chain.go:34
github.com/moby/buildkit/frontend/gateway/pb._LLBBridge_Return_Handler
        /root/build-deb/engine/vendor/github.com/moby/buildkit/frontend/gateway/pb/gateway.pb.go:3218
google.golang.org/grpc.(*Server).processUnaryRPC
        /root/build-deb/engine/vendor/google.golang.org/grpc/server.go:1374
google.golang.org/grpc.(*Server).handleStream
        /root/build-deb/engine/vendor/google.golang.org/grpc/server.go:1751
google.golang.org/grpc.(*Server).serveStreams.func1.1
        /root/build-deb/engine/vendor/google.golang.org/grpc/server.go:986
runtime.goexit
        /usr/local/go/src/runtime/asm_amd64.s:1650

23236 v0.12.1-desktop.4 C:\Program Files\Docker\cli-plugins\docker-buildx.exe --debug buildx build .
google.golang.org/grpc.getChainUnaryInvoker.func1
        google.golang.org/grpc@v1.53.0/clientconn.go:361
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryClientInterceptor.func1
        go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc@v0.40.0/interceptor.go:99
github.com/moby/buildkit/client.New.filterInterceptor.func6
        github.com/moby/buildkit@v0.12.0/client/client.go:403
google.golang.org/grpc.DialContext.chainUnaryClientInterceptors.func3
        google.golang.org/grpc@v1.53.0/clientconn.go:349
google.golang.org/grpc.(*ClientConn).Invoke
        google.golang.org/grpc@v1.53.0/call.go:35
github.com/moby/buildkit/api/services/control.(*controlClient).Solve
        github.com/moby/buildkit@v0.12.0/api/services/control/control.pb.go:2208
github.com/moby/buildkit/client.(*Client).solve.func2
        github.com/moby/buildkit@v0.12.0/client/solve.go:258
golang.org/x/sync/errgroup.(*Group).Go.func1
        golang.org/x/sync@v0.3.0/errgroup/errgroup.go:75
runtime.goexit
        runtime/asm_amd64.s:1650

23236 v0.12.1-desktop.4 C:\Program Files\Docker\cli-plugins\docker-buildx.exe --debug buildx build .
github.com/moby/buildkit/client.(*Client).solve.func2
        github.com/moby/buildkit@v0.12.0/client/solve.go:273
golang.org/x/sync/errgroup.(*Group).Go.func1
        golang.org/x/sync@v0.3.0/errgroup/errgroup.go:75
runtime.goexit
        runtime/asm_amd64.s:1650

I tried to run command RUN curl -x "<mycorporateproxy>" "some url" -k using docker build in another Dockerfile and it works. It means that corporate proxy works well.
I think that command docker build . ignores corporate proxy on Windows.

OS: Windows 10 2022 H2
Docker desktop: v4.28.0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions