5

repl が提供する docker-registry と、docker ハブからの公式の docker レジストリ イメージの両方に、私が見ている同じ問題があります。

docker レジストリのホスト名やポートなどでタグ付けしたイメージがあり、それをレジストリにプッシュしようとしています。

Enter キーを押すと、正常に実行されたように見え、レジストリに既にあるイメージ レイヤーがチェックされます。持っていない画像レイヤーをプッシュし始めると、ハングします。ctrl+c で終了するまで、永遠にそこにとどまります。

例:

[root@docker1 ~]# docker push docker1:5000/centos:7
The push refers to a repository [docker1:5000/centos] (len: 1)
Sending image list
Pushing repository docker1:5000/centos (1 tags)
Image 511136ea3c5a already pushed, skipping
Image 5b12ef8fd570 already pushed, skipping
5c5681003a50: Pushing [>                                                  ] 1.584 MB/220.5 MB 2m9s

実行中の docker-registry コンテナーの docker ログには、次のように記録されています。

10.10.10.2 - - [06/Apr/2015:17:11:01 +0000] "PUT /v1/images/f6808a3e4d9e80a655ec625e38b869ed8a614611e4d0073aeff23be841c9fcff/json HTTP/1.1" 200 4 "-" "docker/1.1.1 go/go1.2.1 git-commit/bd609d2 kernel/3.15.3-tinycore64 os/linux arch/amd64"
06/Apr/2015:17:11:02 +0000 DEBUG: args = {'image_id': u'f6808a3e4d9e80a655ec625e38b869ed8a614611e4d0073aeff23be841c9fcff'}

私が見る限り、エラーはありません。

リモートサーバーからローカルにプッシュしようとしましたが、それでも同じです。selinuxと同様に、iptablesはオフです。

他に何を試すべきか本当にわかりません。

よろしく、K

4

1 に答える 1

0

テストで、ローカルホストにプッシュすると正常に動作することがわかりましたが、メインインターフェイスを経由すると失敗します。ここでも IPTables などは実行されていません。

nginxイメージをプルし、そのproxy_passをレジストリに実行することで、問題を回避しました。

私は設定しなければなりませんでした

client_max_body_size 0;

最初は 411 Length Required のエラーが発生していました。

いずれにせよ htaccess をその前に配置したいので、これは良い回避策です。

K

于 2015-04-08T12:28:17.160 に答える