Dockerで作成したイメージのリポジトリ名とタグ名を変更する

Dockerで作成したコンテナイメージをDockerHubにプッシュしようとしたら下記エラーが出てできなかった.

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hoge/httpd     ver1.0              54e9a8d65f50        2 days ago          258 MB
$ docker push hoge/httpd:ver1.0
The push refers to a repository [docker.io/hoge/httpd]
09ce67b5172f: Preparing
5f70bf18a086: Preparing
8d12f3483b2e: Preparing
denied: requested access to the resource is denied

どうやらローカルのリポジトリ名とDockerHubのリポジトリ名が一致していないよって言われてるみたい.

stackoverflow.com

自分のDockerHubのユーザー名がfugaだったのでそちらに変更.

$ docker tag 54e9a8d65f50 fuga/httpd:ver1
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
fuga/httpd     ver1.0              54e9a8d65f50        2 days ago          258 MB
hoge/httpd     ver1.0              54e9a8d65f50        2 days ago          258 MB

そしていらなくなったイメージを削除.

$ docker rmi hoge/httpd:ver1.0
Untagged: hoge/httpd:ver1.0

そしてプッシュ.

$ docker push fuga/httpd
The push refers to a repository [docker.io/fuga/httpd]
09ce67b5172f: Pushed
5f70bf18a086: Pushed
8d12f3483b2e: Pushed
ver1.0: digest: sha256:a8484be3b56351f2e2208fb2e60728565a9bb0254da9c41db34a0520274afabe size: 1153

コレでOK.
基本構文は以下の通り.

$docker tag イメージID リポジトリ名:タグ名

参考

大変参考になりました.ありがとうございます.

dockerイメージのリポジトリ名とタグを設定する - 前人未踏の領域へ WEB・インフラ・プログラミング全般編
Dockerの設定が完了したのでImageにタグをつけたい、またはDockerfileからビルドしたものの名前を付け忘れた、そんな時に。 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE a1e05daa2311 2 minutes ago 428.8 MB ...

 

[amazonjs asin="B015IZT854" locale="JP" title="Docker実践入門――Linuxコンテナ技術の基礎から応用まで"]

コメント

タイトルとURLをコピーしました