docker: Error response from daemon: Get https://registry-1.docker.io/v2/: Service Unavailable. IN DOCKER , MAC

DockerDocker Proxy

Docker Problem Overview


I am having this issue in my Mac system 10.11.6

system3:postgres saurabh-gupta2$ docker build -t postgres .
Sending build context to Docker daemon  38.91kB
Step 1/51 : FROM registry.access.redhat.com/rhel7/rhel
Get https://registry.access.redhat.com/v2/: Service Unavailable

docker run  -t apline 
Unable to find image 'apline:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: Service Unavailable.
See 'docker run --help'.

I have looked for a solution that says to set proxy, but I have set the proxy for the wifi.

https://docs.docker.com/docker-for-mac/networking/#httphttps-proxy-support

Still, it is not working.

I have set proxy for docker too. It is not working.

in Preference -> proxies

Docker version 17.12 ce

I also want to know if the proxy is the issue then how can I check it is set, what is work around for this?

Docker Solutions


Solution 1 - Docker

Here are few suggestions:

  1. Try restarting your Docker service.

  2. Check your network connections. For example by the following shell commands:

     </dev/tcp/registry-1.docker.io/443 && echo Works || echo Problem
     curl https://registry-1.docker.io/v2/ && echo Works || echo Problem
    
  3. Check your proxy settings (e.g. in /etc/default/docker).

If above won't help, this could be a temporary issue with the Docker services (as per Service Unavailable).

Related: GH-842 - 503 Service Unavailable at http://hub.docker.com.

I had this problem for past days, it just worked after that.

You can consider raising the issue at docker/hub-feedback repo, check at, Docker Community Forums, or contact Docker Support directly.

Solution 2 - Docker

I tried running on Windows, and got this problem after an update. I tried restarting the docker service as well as my pc, but nothing worked.

When running:

curl https://registry-1.docker.io/v2/ && echo Works

I got back:

{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}
Works

Eventually, I tried: https://github.com/moby/moby/issues/22635#issuecomment-284956961

By changing the fixed address to 8.8.8.8: enter image description here

Which worked for me! I still got the unauthorized message for curl https://registry-1.docker.io/v2/ but I managed to pull images from docker hub.

Solution 3 - Docker

docker logout
docker login

This might solve your problem

Solution 4 - Docker

For me I had this issue when I first installed Docker and ran

docker run hello-world

I got an authentication required error when I ran

curl https://registry-1.docker.io/v2/ && echo Works

All I needed to do was to restart my MacOS and then run the command again, it just started pulling the image and i got the message

Hello from Docker!
This message shows that your installation appears to be working correctly.

Solution 5 - Docker

It's clearly a proxy issue: docker proxies https connections to the wrong place. Bear in mind that docker proxy settings may be different from the operating system (and curl) ones. Here's how I managed to solve the issue:

First of all, find out where are you proxying your docker https requests:

# docker info | grep Proxy
Http Proxy: http://<my.proxy.server>:8080
Https Proxy: https://<my.proxy.server>:8080
No Proxy: localhost,127.0.0.1

and double check your https settings.

In my case, I realized that the "Https proxy" was set to https://... instead of http://..., so I corrected it in /etc/sysconfig/docker file (I'm using RHEL7) and, after a docker restart with:

# systemctl restart docker

the proxy variable shows up succesfully updated:

# docker info | grep Proxy
Http Proxy: http://<my.proxy.server>:8080
Https Proxy: http://<my.proxy.server>:8080
No Proxy: localhost,127.0.0.1

and everything works fine :-)

Solution 6 - Docker

For me the problem was solved by restarting the docker daemon:

sudo systemctl restart docker

Solution 7 - Docker

One option which worked for me on MAC.

Click on the Docker Icon in the tray. Open Preferences -> Proxies. Click on Manual Proxy and specify Web Server (HTTP) proxy and Secure Web server (HTTPS) proxy in the same format as we specify in HTTPS_PROXY env variable. Choose Apply and Restart.

This Worked for me

Solution 8 - Docker

try to reload daemon then restart docker service.

systemctl daemon-reload

Solution 9 - Docker

  1. Recheck Proxy Settings with the following commands

    docker info | grep Proxy

  2. Check VPN Connectivity

  3. If VPN not using CHECK NET connectivity

  4. Reinstall Docker and repeat the above steps.

  5. Enjoy

Solution 10 - Docker

Just to add, in case anyone else comes across this issue.

On a Mac I had to logout and log back in.

docker logout

docker login 

Then it prompts for username (NOTE: Not email) and password. (Need an account on https://hub.docker.com to pull images down)

Then it worked for me.

Solution 11 - Docker

NTML PROXY AND DOCKER 

If your company is behind MS Proxy Server that using the proprietary NTLM protocol.

You need to install **Cntlm** Authentication Proxy

After this SET the proxy in 
/etc/systemd/system/docker.service.d/http-proxy.conf) with the following format:

[Service]

Environment=“HTTP_PROXY=http://<<IP OF CNTLM Proxy Server>>:3182”

In addition you can set in the .DockerFile
export http_proxy=http://<<IP OF CNTLM Proxy Server>>:3182
export https_proxy=http://<IP OF CNTLM Proxy Server>>:3182
export no_proxy=localhost,127.0.0.1,10.0.2.*

Followed by:
systemctl daemon-reload

systemctl restart docker

This Worked for me

Solution 12 - Docker

I had this same issue when working on an Ubuntu server.

I was getting the following error:

deploy@my-comp:~$ docker login -u my-username -p my-password
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp 35.175.83.85:443: connect: connection refused

Here are the things I tried that did not work:

  • Restarting the docker service using sudo docker systemctl restart docker
  • Powering off and restarting the Ubuntu server.
  • Changing the name server to 8.8.8.8 in the /etc/resolv.conf file

Here's what worked for me:

I tried checking if the server has access to the internet using the following netcat command:

nc -vz google.com 443

And it returned this output:

nc: connect to google.com port 443 (tcp) failed: Connection refused
nc: connect to google.com port 443 (tcp) failed: Network is unreachable

Instead of something like this:

Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Connected to 172.217.166.110:443.
Ncat: 0 bytes sent, 0 bytes received in 0.07 seconds.

I tried checking again if the server has access to the internet using the following wget command:

wget -q --spider http://google.com ; echo $?

And it returned:

4

Instead of:

0

Note: Anything other than 0 in the output means your system is not connected to the internet

I then tried the last time if the server has access to the internet using the following Nmap command:

nmap -p 443 google.com

And it returned:

Starting Nmap 7.01 ( https://nmap.org ) at 2021-02-16 11:50 WAT
Nmap scan report for google.com (216.58.223.238)
Host is up (0.00052s latency).
Other addresses for google.com (not scanned): 2c0f:fb50:4003:802::200e
rDNS record for 216.58.223.238: los02s04-in-f14.1e100.net
PORT    STATE  SERVICE
443/tcp closed https

Nmap done: 1 IP address (1 host up) scanned in 1.21 seconds

Instead something like this:

Starting Nmap 7.01 ( https://nmap.org ) at 2021-02-16 11:50 WAT
Nmap scan report for google.com (216.58.223.238)
Host is up (0.00052s latency).
Other addresses for google.com (not scanned): 2c0f:fb50:4003:802::200e
rDNS record for 216.58.223.238: los02s04-in-f14.1e100.net
PORT    STATE  SERVICE
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 1.21 seconds

Note: The state of port 443/tcp is closed instead of open

All this was enough to make me realize that connections to the internet were not allowed on the server.

All I had to do was speak with the team in charge of infrastructure to fix the network connectivity issue to the internet on the server. And once that was fixed my docker command started working fine.

Resources: 9 commands to check if connected to internet with shell script examples

That's all.

I hope this helps

Solution 13 - Docker

Got this from a network filter (LuLu on macOS) blocking traffic to/from Docker-related processes.

Solution 14 - Docker

I had this issue when I first installed Docker and ran

docker run hello-world

I was on a corporate network and switching to my personal network solved the issue for me.

Solution 15 - Docker

I had the following entries in my /etc/hosts file:

34.228.211.243  registry-1.docker.io
34.205.88.205   auth.docker.io
104.18.121.25   production.cloudflare.docker.com

Just by commenting them out, I fixed the problem.

Solution 16 - Docker

  1. List item

Many good answers above, but mine is a bit different with Mac and Docker Desktop UI. In my case, it is a Desktop proxy setting that needs to be turned off when I am outside of corporate fiewall/proxy:

ERROR message from docker CLI:
Username: xxx
Password: *** 
Error response from daemon: Get https://registry-1.docker.io/v2/: Service Unavailable
  1. My env: Machine Mac with Docker UI (i.e. called Docker Desktop, shown as a whale icon), running outside of corp firewall/proxy.
  2. I am able to Sign In with Docker Desktop UI.
  3. However, whether docker login or docker pull, I kept getting the above error and I got sidetrack into the user id, reset the daemon, ...
  4. Finally, I got to the Docker Desktop UI. Sure enough, there is a proxy setting that I have setup long time ago, and totally forgot about it!
  5. Yes, when I am outside of firewall, I need to turn off the proxy setting here. Docker Desktop -> Preference -> Resources -> Proxies. Turn Turn off the manual proxy configuration. Then docker pull works (without docker login as I was pulling a public image)!

Thanks PS. I think the difference in behavior of Docker Desktop and Docker CLI contributes to the confusion. I am able to login to docker through the GUI, and the CLI keeps erroring out without good enough diagnostic information.

Solution 17 - Docker

On my windows 11 all I did was to first login into my account

docker login

Solution 18 - Docker

The answers are provided here amazing, but if you are new in that and you don't realize full error then you may see at the end of that error net/http: TLS handshake timeout. message means that you have a slow internet connection. So it can be only that problem that's it. Toodles

Solution 19 - Docker

Using Linux. For me it worked by doing:

  1. $ docker logout
  2. log out of hub.docker.com
  3. log in to hub.docker.com
  4. $ docker login

Solution 20 - Docker

I have solved this issue about $ sudo docker run hello-world following the Docker doc.

If you are behind an HTTP Proxy server of corporate, this may solve your problem.

[Docker doc] 1 also displays other situation about HTTP proxy setting.

Solution 21 - Docker

In my case, stopping Proxifier fixed it. I added a rule to route any connections from vpnkit.exe as Direct and it now works.

Solution 22 - Docker

One of the problems you might need to check is, Does the registry requires VPN, Enable your VPN and try pulling again.

Thanks.

Solution 23 - Docker

Ok, I have a similar issue and nothing seemed to help, restart docker, disabled IPv6 and the nslookup and dig all seemed fine.

What worked for me was going to my Docker Desktop -> Preferences -> Experimental Features and unchecking Use new virtualization framework.

Solution 24 - Docker

docker login terminal command worked for me.

If your machine requires VPN then must connect with VPN first and try docker login.

Solution 25 - Docker

Just reloading system, this is helped for me. (Windows 10 64x)

Solution 26 - Docker

Have you create a repo with the matching tag on destinated docker hub? It might be that your container image has no where to be pushed to.

Solution 27 - Docker

Run export DOCKER_CONTENT_TRUST=0 and then try it again.

Solution 28 - Docker

Use --tls in the pull request. For example if original pull request is docker pull dgraph/dgraph:v21.03.0 Use this instead : docker --tls pull dgraph/dgraph:v21.03.0

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionHimanshu sharmaView Question on Stackoverflow
Solution 1 - DockerkenorbView Answer on Stackoverflow
Solution 2 - DockerMor ShemeshView Answer on Stackoverflow
Solution 3 - DockerDevSayView Answer on Stackoverflow
Solution 4 - DockerOluwatobi OmotayoView Answer on Stackoverflow
Solution 5 - DockerDiego TurisoView Answer on Stackoverflow
Solution 6 - DockerMostafa TalebiView Answer on Stackoverflow
Solution 7 - DockerRanganath DView Answer on Stackoverflow
Solution 8 - DockerApriliansyah IdrisView Answer on Stackoverflow
Solution 9 - DockerVineet KumarView Answer on Stackoverflow
Solution 10 - DockerBrianView Answer on Stackoverflow
Solution 11 - DockerAnil Jayan LeelaView Answer on Stackoverflow
Solution 12 - DockerPromise PrestonView Answer on Stackoverflow
Solution 13 - DockerjikuView Answer on Stackoverflow
Solution 14 - DockerAmulya K MurthyView Answer on Stackoverflow
Solution 15 - DockerManuView Answer on Stackoverflow
Solution 16 - DockerHAltosView Answer on Stackoverflow
Solution 17 - DockerShallon KobusingeView Answer on Stackoverflow
Solution 18 - DockerNikhil BhardwajView Answer on Stackoverflow
Solution 19 - Dockerjackjc9View Answer on Stackoverflow
Solution 20 - DockerWangYangView Answer on Stackoverflow
Solution 21 - DockersashoalmView Answer on Stackoverflow
Solution 22 - Dockeruser6223368 iSubodhView Answer on Stackoverflow
Solution 23 - DockerLuiz GarciaView Answer on Stackoverflow
Solution 24 - Dockeruser3772661View Answer on Stackoverflow
Solution 25 - DockertravaView Answer on Stackoverflow
Solution 26 - Dockerthat one guy on the internetView Answer on Stackoverflow
Solution 27 - DockerMichal SipekView Answer on Stackoverflow
Solution 28 - DockerSidharth PJView Answer on Stackoverflow