I’m currently trying to install Docker on my old Raspberry Pi (3 Model B+) to host some personal projects. When I run docker run hello-world, I get:

Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/library/hello-world/manifests/sha256:ec153840d1e635ac434fab5e377081f17e0e15afab27beb3f726c3265039cfff": dial tcp [2600:1f18:2148:bc00:eff:d3ae:b836:fa07]:443: connect: network is unreachable

My Internet connection does not support IPv6 at all, which would explain why this error occurs. But how do I force docker-pull to only use IPv4?

  • iglou@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    2 days ago

    I have read the rest of the comments to see what you already tried. I was about yo tell you to use sysctl to disable ipv6 but it looks like that is already done.

    As a matter of fact, it looks like you have no ipv6 address at all. Which makes me think that your DNS config might be off, as it shouldn’t even attempt an ipv6 resolution.

    Can you show me the content of /etc/resolv.conf ?

    Also install “dig” if you dont have it already and show the output of

    dig registry-1.docker.io
    
    • Zagorath@aussie.zoneOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      2 days ago
      $ dig registry-1.docker.io
      
      ; <<>> DiG 9.18.33-1~deb12u2-Debian <<>> registry-1.docker.io
      ;; global options: +cmd
      ;; Got answer:
      ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50801
      ;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1
      
      ;; OPT PSEUDOSECTION:
      ; EDNS: version: 0, flags:; udp: 1232
      ;; QUESTION SECTION:
      ;registry-1.docker.io.          IN      A
      
      ;; ANSWER SECTION:
      registry-1.docker.io.   33      IN      A       54.210.249.78
      registry-1.docker.io.   33      IN      A       44.218.153.24
      registry-1.docker.io.   33      IN      A       107.20.112.188
      registry-1.docker.io.   33      IN      A       34.234.222.10
      registry-1.docker.io.   33      IN      A       34.195.83.243
      registry-1.docker.io.   33      IN      A       52.21.128.203
      registry-1.docker.io.   33      IN      A       52.0.248.137
      registry-1.docker.io.   33      IN      A       52.207.69.161
      
      ;; Query time: 47 msec
      ;; SERVER: 192.168.20.1#53(192.168.20.1) (UDP)
      ;; WHEN: Tue Aug 12 22:27:45 AEST 2025
      ;; MSG SIZE  rcvd: 177
      $ cat /etc/resolv.conf
      # Generated by NetworkManager
      search Home
      nameserver 192.168.20.1
      

      edit: oh, and in my router’s configuration:

      • Primary DNS Server:9.9.9.9
      • Secondary DNS Server:1.1.1.1
      • iglou@programming.dev
        link
        fedilink
        English
        arrow-up
        2
        ·
        2 days ago

        Well this is getting weird.

        Have you tried checking if your os has a resolution cashe active? If so, try to flush it.

          • iglou@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            ·
            2 days ago

            At this point I am assuming that it is actually a docker issue.

            Can you show your docker daemon configuration?

            Hard to tell where it is on your machine. Try ~/.docker/daemon.json, or maybe /etc/docker/daemon.json… Else look for it haha

            • Zagorath@aussie.zoneOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              2 days ago

              There’s a ~/.docker/config.json. In that there’re some auths, with keys https://index.docker.io/v1/, https://index.docker.io/v1/access-token, and https://index.docker.io/v1/refresh-token, and then there’s "currentContext": "rootless".

              There’s ~/.docker/contexts/meta/[a long hex string]/meta.json, with {"Name":"rootless","Metadata":{"Description":"Rootless mode"},"Endpoints":{"docker":{"Host":"unix:///run/user/1000/docker.sock","SkipTLSVerify":false}}}.

              The only file in /etc/docker is key.json.