Dockerでは、現在ログインしている現在のレジストリ情報をどのように表示できますか? dockerをインストールしましたが、docker Pushを実行した場合、画像はどこに送信されますか?
私はGoogleとdocker docsからこの情報を検索するのに30分以上費やしましたが、それを見つけることができませんでした。
「現在の」レジストリという概念はありません。フルイメージタグには常にレジストリアドレスが含まれますが、レジストリが指定されていない場合は、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:5000
butを実行する必要があります。タグにレジストリアドレスがないイメージをプッシュまたはプルする場合、Dockerは常にハブを使用します。
この問題 はその根拠を説明しています。
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]