Docker はイメージの名前変更機能を提供していないため、次の 3 つのコマンドでDocker イメージの名前を効果的に変更する方法を次に示します。
docker pull UglyOldTag
docker tag UglyOldTag ShinyNewTag
docker rmi UglyOldTag
注: これは実際には、新しいタグを追加して古いタグを削除するだけです。前述のように、タグは実際にはニーモニック エイリアス、またはイメージ ID フィールドへのポインタです。それだけで十分に混乱しない場合、Docker API とドキュメントでは、バージョンを参照するために「タグ」もよく使用されます(つまり、MyImage**:**latest のように、「 : 」の後に来るイメージ名の部分)。 .
ただし、タグの名前を変更する必要があるのは、タイプミスや名前の間違いだけではありません。たとえば、Amazon の ECR を使用している場合、イメージをチェックインする前に、完全な ARN をタグとして割り当てる必要があります。これは、タグが大きくて醜いことを意味します。
注: 以下の例を見ると、Amazon と DockerHub が Docker イメージの各階層を「リポジトリ」と呼んでいることを覚えておくと便利です。
# Create the ECR 'repository' for the image
aws ecr create-repository \
--repository-name myFavoriteTag \
--image-scanning-configuration scanOnPush=true \
--region myFavoriteRegion
docker tag myFavoriteTag:latest aws_account_id.dkr.ecr.aws_region.amazonaws.com/myFavoriteTag:latest
docker push aws_account_id.dkr.ecr.aws_region.amazonaws.com/myFavoriteTag:latest
したがって、醜さをきれいにする簡単な方法は
ECR_BASE==aws_account_id.dkr.ecr.aws_region.amazonaws.com
docker pull ${ECR_BASE}/myFavoriteTag
docker tag ${ECR_BASE}/myFavoriteTag myFavoriteTag
docker rmi ${ECR_BASE}/myFavoriteTag
docker run myFavoriteTag
もちろん、ECR に戻すには、醜さを元に戻す必要があります。
docker tag ${ECR_BASE}/myFavoriteTag:latest