

イメージを指定するdocker
xxxのコマンドの説明として、Web上で見つかる情報では、リポジトリ名とイメージ名の2種類の表記が見当たります。`docker
images`ではREPOSITORYと表記されているので、リポジトリ名が正式名称なのかなと思うのですが、両者が別の意味を持つこともあるのでしょうか？  
イメージを指定するのだからイメージ名、という方が直感的だとは思うのですが。

どうも`apt-get`等でいうリポジトリと、Dockerのリポジトリという用語が自分の中でマッチせずに混乱してしまいます。  
Dockerのレジストリの方が、`apt-get`等のリポジトリのイメージに近いような。リポジトリとレジストリも両者を混同しているような記事を見かけます。

`man docker-images`では以下のような文があり、混乱のもとになっているような自覚が公式にもあるのでしょうか？

[code]

    The title REPOSITORY for the first title may seem confusing.
    
[/code]

英語版のスタックオーバーフローでも恐らく似たような質問がありましたが、自分の英語力では解釈しきれず、日本語での回答がもらえらばと思います。  
<https://stackoverflow.com/questions/31115098/in-docker-what-is-the-
difference-between-an-image-and-a-repository>


CC BY-SA 3.0
2017-02-02T16:40:19.477
32345
2021-06-28T00:07:42.653
2017-05-23T12:38:56.083
-1
17238
question
docker
Dockerのリポジトリ名とイメージ名って同じもの？


Dockerのリポジトリには複数のイメージが登録でき、それらをタグで区別しています。

……という風に区別しているようです。少なくとも、[Docker
Hub上のリポジトリについてのドキュメント](https://docs.docker.com/docker-
hub/repos/)を読む限りは。たとえばこのドキュメントには、

> You can add multiple images to a repository, by adding a specific `:<tag>`
> to it (for example `docs/base:testing`).  
>  (拙訳) 適当な`:<tag>`をつけることで、リポジトリには複数のイメージが追加できます（例：`docs/base:testing`）。

と書かれています。

* * *

更にややこしいことに、「Dockerイメージそのもの」と「イメージ名」は厳密には分けて考えられるべきです。  
なぜかというと、各々のDockerイメージにはハッシュ値でIDが振られていますが、  
`v1`と`latest`のタグを同時につけられることからも分かるように、  
同じイメージに対して複数の異なるタグを付け、違う名前にすることができるからです。

また、レジストリはこれらとは階層が別のもので、サーバーサイドで動くDockerイメージの配布システムのことを指しています（[参考](https://docs.docker.com/registry/)）。


CC BY-SA 4.0
2017-02-02T17:09:10.993
32346
2021-06-28T00:07:42.653
2021-06-28T00:07:42.653
19110
19110
32345
answer


`docker
images`の`REPOSITORY`列に表示されるのはそのままリポジトリ名で、それと`TAG`列に表示されるタグ名を合わせたのがイメージ名だと思います。

[CentOS](https://hub.docker.com/_/centos/)で言えば、リポジトリ名が`centos`で、そこに`6`とか`7`とかいうタグが登録されていて、つまり`centos:6`や`centos:7`というイメージがあるということです。


CC BY-SA 3.0
2017-02-02T17:30:56.923
32347
2017-02-02T17:30:56.923
19437
32345
answer