[SOLVED] ERROR: Error response from daemon: Get https://myregistry:5000: http: server gave HTTP response to HTTPS client
This is a solution for both: Linux and Windows.
You maybe came across this error pushing or pulling to/from a local registry, like Nexus or others.
The problem is that Docker is trying to use HTTPS protocol but your registry does not support it, it accepts only HTTP connection.
We need to say to Docker that this is an our registry and he can trust it.
Linux / Windows server
Edit the daemon.json
file, whose default location is /etc/docker/daemon.json
.
If the daemon.json
file does not exist, create it. Assuming there are no other settings in the file, it should have the following contents:
{
"insecure-registries" : ["myregistry:5000"]
}
Substitute the address (myregistry:5000
) with your insecure registry.
Restart docker daemon sudo service docker restart
Docker desktop
If you use Docker Desktop for Mac or Docker Desktop for Windows, click the Docker icon, choose Preferences, and choose Daemon Engine.
Add your insecure registry as screen below, then click "Apply & Restart".
Docker site source: https://docs.docker.com/registry/insecure/