ビルドプロセスから生成されたDockerイメージがあります。最新のビルドイメージにタグビルドIDと「latest」のタグを付けたいと思っています。これを行うには2つの方法があります。
最初のアプローチ-(複数のタグを追加して1回プッシュ)
docker tag <id> <user>/<image>:build_id
docker tag <id> <user>/<image>:latest
docker Push <user>/<image>
2番目-個別にタグ付けしてプッシュ
docker tag <id> <user>/<image>:build_id
docker Push <user>/<image>:build_id
docker tag <id> <user>/<image>:latest
docker Push <user>/<image>:latest
Dockerのドキュメントには、レジストリに特定のタグが付いたイメージが既にある場合、同じタグが付いた新しいイメージを使用してdocker Pushを実行すると、以前のイメージが上書きされると記載されています。
まず第一に
docker Push
は、リポジトリ名を指定しないと機能しません。
docker Push
"docker Push" requires exactly 1 argument.
See 'docker Push --help'.
Usage: docker Push [OPTIONS] NAME[:TAG] [flags]
Push an image or a repository to a registry
つまり、リポジトリ名でプッシュする必要があります。また、TAGを提供することも提供しないこともできます。
TAGを指定しない場合は、そのリポジトリのすべてのイメージをプッシュしています。
質問修正後
最初のアプローチでは、すべてのイメージを<user>/<image>
リポジトリの下にプッシュします。
2番目のアプローチでは、画像を1つずつプッシュしています。
質問の回答
_ 1。上記で指定された最初と2番目のオプションは両方とも機能的に同じです(あなたの場合)
TAGを指定しない場合は、そのリポジトリのすべてのイメージをプッシュしています。
あなたの場合
$ docker Push <user>/<image>
tAG build_id
とlatest
の両方をプッシュします
_ 2。私は、2番目のオプションの方が優れていると思います
なぜなら、すべての画像をプッシュしたくない場合があるからです。その場合、2番目のアプローチに従ってプッシュする画像を選択できます。