2

これが私がセットアップしたものです:

以下のように安全でないレジストリとして実行されている Docker デーモン:

docker -d --iptables=true --insecure-registry 1.2.3.4:5000

今、リモート システムからそのレジストリにプッシュしようとすると、さまざまなエラーが発生します。

エラー 1:

docker push 1.2.3.4:5000/test
EOF error: 
FATA[0002] Error: Invalid registry endpoint 1.2.3.4:5000/v1: Get 1.2.3.4:5000/v1/_ping: EOF 

エラー 2: エラー 2 が発生した後、Docker ホストの /etc/hosts に IP を追加しました。「docker push docker:5000/test」を試してみると、https を使用しようとしてエラー 1 で失敗し、「docker push docker/test」を試してみると、ユーザー名とパスワードを求められます。これは期待されていますか??

Error:
The push refers to a repository [docker/test] (len: 1)
Sending image list

Please login prior to push:
Username: docker
Password:
Email: docker@internet.com

FATA[0011] Error response from daemon: Registration: "Forbidden username"

認証が必要な場合、ユーザー名とパスワードはどこにありますか。また、認証なしで docker レジストリーを開始できますか??

4

2 に答える 2

5

プライベート レジストリを実行したら、アップロードするイメージに再度タグを付ける必要があります。コマンド docker images が jason/test という名前のイメージを返すと仮定すると、docker tag コマンドを使用して新しい名前でコピーします。

docker tag jason/test <server.name>:<port>/<image name>

内部ドッカー レジストリが dns 名 myregistry.mycompany.local を介してアクセス可能であり、デフォルト ポート 5000 で実行されていると仮定すると、コマンドは次のようになります。

docker tag jason/test myregistry.mycompany.local:5000/test

docker images コマンドは次のように表示されます。

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
myregistry.mycompany.local:5000/test   latest              c776f089e3cf        6 days ago          707.3 MB
jason/test               latest              c776f089e3cf        6 days ago          707.3 MB

これで docker push myregistry.mycompany.local:5000/test を実行して、イメージを内部レジストリーにプッシュできます。

于 2015-04-02T20:16:29.537 に答える
1

引数を指定して Docker デーモンを実行しても、セキュリティで保護されて--insecure-registryいないレジストリは開始されず、レジストリへの接続が許可されるだけです。

コマンドdocker push 1.2.3.4:5000/testは のレジストリに接続しようとしましたが、レジストリ1.2.3.4:5000が存在しないため、エラーが発生しました。

このコマンドdocker push docker/testは公式の Docker Hub にプッシュしようとしますが、これにはアカウントを設定する必要があるため、ユーザー名とパスワードを要求されます。

独自のレジストリを実行する方法の詳細については、レジストリのGithub リポジトリを参照してください。

于 2015-02-24T09:25:58.257 に答える