【Docker】イメージ名とタグ名を変更する方法

【Docker】イメージ名とタグ名を変更する方法

こんばんはエンジニアの眠れない夜です。

Dockerで一度ビルドしたイメージのイメージ名やタグ名を変更したいことはありませんか?

特にタグ名はバージョンlatestを同時に作成するかたも多いのではないでしょうか?

全く変更を加えていない状態ならもう一度buildをしても数秒〜1分以内に終わるのでそれでも良いのですが、変更を加えてしまった場合はそうもいきません。過去に作成したイメージに対してタグだけ変更したいという場合には利用できませんね(;´Д`)

そういうことで簡単にイメージ名とタグ名を変更する方法をご紹介します。

Dockerでイメージ名とタグ名を変更する方法

まずはdocker imagesでイメージのIDを確認します。

イメージIDを確認したらこちらを置き換えるだけです。

dokcer tag IMAGE_ID IMAGE_NAME:TAG

例えば変更したい
・イメージID:c52af594ab69
・イメージ名:test_image
・タグ名:test
だった場合は下記のように書き換えればOKです。

docker tag c52af594ab69 test_image:test

試しにdocker imagesで確認すると同じc52af594ab69というIDでイメージ名とタグ名がtest_imagetestになっていることが確認できます。

Dockerのイメージ名とタグ名を変更する方法

 

タグ名を指定せずに

docker tag c52af594ab69 test_image

とした場合、タグは自動でlatestになります。

Dockerイメージ名変更タグ無し

DockerHubにプッシュする場合

せっかくなのでDockerHubにプッシュする場合のイメージ名の設定もご紹介します。

DockerHubにプッシュするにはUSER_NAME/PROJECT_NAME:TAGを指定する必要があるので、先程のこちらのイメージ名とタグ名を

dokcer tag IMAGE_ID IMAGE_NAME:TAG

このように変更します。

dokcer tag IMAGE_ID USER_NAME/IMAGE_NAME:TAG

USER_NAMEをスラッシュで区切って追加しただけなので簡単ですね(^_^;)

※ USER_NAMEはDockerHubのユーザーネームです。まだDockerHubのアカウントを持っていない場合はここから登録できます。

まとめ

少し話はそれてしまいましたが、Dockerのイメージ名とタグ名の変更方法はこれでバッチリですね(^^)v

dokcer tag IMAGE_ID IMAGE_NAME:TAG

サクッとイメージ名とタグを変更してDockerを便利に使いましょう!

2 Comments

習志野

docker tagコマンドは実行した際にイメージがコピーされる仕様のようです(Docker version 19.03.5)
イメージIDが同じものが2つ存在することになるので、もとのイメージは削除したほうがいいのでしょうか?

返信する
sleepless-se sleepless-se

習志野さん

コメントありがとうございます。
念の為、確認してみたのですがコンテナIDが同じなのでコピーされていると言うより
同じイメージに別々の名前をつけているという感じです。

python       3       954987809e63  
my_container my_tag  954987809e63

容量を消費するわけではないので消す必要はないと思います。
その辺りは気持ちの問題です(^_^;)

docker rmi my_container:my_tag

でタグが消えます。同じイメージを共有しているのでこの時点ではイメージは消えません。

docker rmi python:3

とするとイメージを共有しているものは他にないのでタグを削除して、イメージも一緒に消えます。

ご参考になれば幸いです。

返信する

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください