ALL_PROXY and the “Unknown Scheme: http” Error
A program can reject an http:// value in ALL_PROXY even though HTTP_PROXY accepts it. The consumer of the variable defines the supported schemes.
proxy: unknown scheme: http can look absurd when the same endpoint works in curl. The endpoint may be fine. A different program is interpreting the variable.
Environment names are conventions, not a universal networking API. Go's golang.org/x/net/proxy package has SOCKS-oriented URL handling. A consumer using that parser can reject an HTTP scheme that a full HTTP client supports elsewhere.
Find the component issuing the error and the variable it reads. Check its version and documented schemes. Do not change http:// to socks5:// unless the service at the other end actually speaks SOCKS5. If this consumer requires SOCKS5 and a public route is permitted, the SOCKS5 proxy list offers actual endpoints for that protocol; keep other clients' required HTTP routes separate.
An old Docker Toolbox report involved a particular historical implementation. That is not a reason to downgrade a modern Docker installation. Current Docker daemon HTTP proxy settings have their own documented interface.
If an unrelated inherited ALL_PROXY value is the cause, remove or override it at the intended process scope. Preserve the HTTP proxy setting required by other clients. A single environment containing both values can expose differences that the individual applications would never reveal in isolation.