web-dev-qa-db-ja.com

Dockerは現在のレジストリを表示します

Dockerでは、現在ログインしている現在のレジストリ情報をどのように表示できますか? dockerをインストールしましたが、docker Pushを実行した場合、画像はどこに送信されますか?

私はGoogleとdocker docsからこの情報を検索するのに30分以上費やしましたが、それを見つけることができませんでした。

14
Ville Miekk-oja

「現在の」レジストリという概念はありません。フルイメージタグには常にレジストリアドレスが含まれますが、レジストリが指定されていない場合は、Docker Hubがデフォルトとして使用されます。

したがって、docker Push user/appはDocker Hubにプッシュします。ローカルレジストリにプッシュする場合は、レジストリアドレスを明示的にタグ付けする必要があります。

docker tag user/app localhost:5000/user/app
docker Push localhost:5000/user/app

ローカルレジストリが保護されている場合は、デフォルトのレジストリを変更しないdocker login localhost:5000butを実行する必要があります。タグにレジストリアドレスがないイメージをプッシュまたはプルする場合、Dockerは常にハブを使用します。

この問題 はその根拠を説明しています。

14
Elton Stoneman

Dockerイメージの動作は最も明白ではありませんが、簡単に説明できます。

画像の送信先は、画像名で定義する必要があります。イメージをコミットするときは、[registry-IP]:[registry-port]/[imagepath]/[image-name]という名前を付ける必要があります

イメージが既に作成されており、ローカルレジストリに送信する場合は、イメージをプッシュする前に、レジストリパスを含めてタグを付ける必要があります。

docker tag [image-name] [registry-IP]:[registry-port]/[image-name]

docker Push [registry-IP]:[registry-port]/[image-name]

4
Mgccon