2016-09-27 51 views
4

ドッカーでは、現在ログインしている現在のレジストリ情報をどのように表示できますか?私はドッカーをインストールしました。ドッカーのプッシュをすると、どこにイメージが送られますか?ドッカーの現在のレジストリを表示

Googleとドッカーのドキュメントからこの情報を検索するのに30分以上かかるので、それを見つけることができませんでした。自分の質問に値すると思います。

答えて

6

「現在の」レジストリの概念はありません。完全なイメージタグは常にレジストリアドレスを含みますが、レジストリが指定されていない場合、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が、デフォルトのレジストリを変更しないを実行する必要があります:あなたはローカルレジストリにプッシュしたい場合は、明示的にレジストリのアドレスでそれをタグ付けする必要があります。タグ内のレジストリアドレスなしで画像をプッシュまたはプルすると、Dockerは常にハブを使用します。

This issueはその根拠を説明している。

+0

かなり良い答えです。イメージを同じように引き出すことはできますか?プライベートレジストリ(ローカルまたは外部)を使用する場合は、まずログインしてからイメージタグにプライベートレジストリアドレスが含まれていることを確認してから、プッシュします。 –

+1

はい、正確です。自分のUbuntuベースイメージを望んでいるとしましょう。 'docker pull Ubuntu'はあなたにハブからの公式イメージを与えます。 'docker tag ubuntu localhost:5000/bases/ubuntu'はローカルレジストリにタグ付けします。 'docker push localhost:5000/bases/ubuntu'がローカルにプッシュします。次に、 'docker pull localhost:5000/bases/ubuntu'をDockerfilesで使う:' FROM localhost:5000/bases/ubuntu' –

2

ドッカーの画像の仕組みは最も明白ではありませんが、説明するのは簡単です。

イメージが送信される場所は、イメージ名で定義する必要があります。 イメージをコミットするときは、[registry-port]/[imagepath]/[image-name]の名前にする必要があります。

すでにイメージが作成されていて、あなたはそれをプッシュする前に、ローカルレジストリは、レジストリパスを含む、それをタグ付けする必要があります。

ドッカタグ[イメージ名] [レジストリ-IP]:[レジストリポート]/[画像名]

ドッカプッシュ[レジストリIP]:[レジストリポート]/[イメージ名]

関連する問題