ローカルホスト上のDockerレジストリが機能しない

ローカルホスト上のDockerレジストリが機能しない

私はホスト上でfoo以下のプライベート Docker レジストリを使用していますdocker-compose.yml:

version: '3.2'
services:
  registry:
    restart: unless-stopped
    image: registry:2
    ports:
    - 5000:5000
    volumes:
    - /tmp/myregistry:/var/lib/registry

ホストにfooファイルを追加しました/etc/docker/daemon.json

{
    "insecure-registries" : [ "localhost:5000" ]
}

そして、docker info次のことを示しています:

Insecure Registries:
  localhost:5000
  127.0.0.0/8

(2 番目のエントリがどこから来たのか、まったくわかりません。)

しかし、呼び出しはdocker pull localhost:5000/myapp機能しません。単に何もせず、決して戻りません。呼び出しても同じですcurl -kv http://localhost:5000/v2/...

(root@foo)/etc/docker# curl -kv http://localhost:5000/v2/
*   Trying 127.0.0.1:5000...
* Connected to localhost (127.0.0.1) port 5000 (#0)
> GET /v2/ HTTP/1.1
> Host: localhost:5000
> User-Agent: curl/7.74.0
> Accept: */*
>

VPN (openvpn) を使用すると、このホスト上のプライベート docker リポジトリにアクセスし、アプリをプッシュしたり、他の操作を実行したりできます。

(thomas@otherhost)~# curl -i http://foo:5000/v2/
HTTP/1.1 200 OK
Content-Length: 2
Content-Type: application/json; charset=utf-8
Docker-Distribution-Api-Version: registry/2.0
X-Content-Type-Options: nosniff
Date: Tue, 14 Jun 2022 22:02:04 GMT

ファイアウォールの問題は除外できます。何かアイデアはありますか? TIA!

PS: 数週間前は問題なく動作していましたが、何が変わったのか全くわかりません... :(

答え1

これはDockerの問題ではなく、ファイアウォールの問題です。

関連情報