docker - 运行 Docker 注册表时 :2 是什么意思?
问题描述
在我发现的有关 Docker 注册表的每个教程中,都有这样的命令:
docker run -d -p 5000:5000 --name registry registry:2
此处使用标签2。为什么?我试过没有标签的注册表,它也有效。我认为这与 Docker 注册表的不同 API(?)有关,但我不确定。
解决方案
您对 API 的看法是正确的。来自github.com/docker/distribution:
分配
用于打包、运送、存储和交付内容的 Docker 工具集。
该存储库的主要产品是用于存储和分发 Docker 映像的Docker Registry 2.0实现。它以新的 API 设计取代了docker/docker-registry项目,专注于安全性和性能。
和:
登记处
用于 docker 1.6+的Docker Registry HTTP API V2的实现。
为什么两者都有效?
当你docker pull registry
实际上pull
registry:latest
和它有相同的摘要时registry:2
。演示:
$ docker pull registry
Using default tag: latest
latest: Pulling from library/registry
169185f82c45: Already exists
046e2d030894: Pull complete
188836fddeeb: Pull complete
832744537747: Pull complete
7ceea07e80be: Pull complete
Digest: sha256:870474507964d8e7d8c3b53bcfa738e3356d2747a42adad26d0d81ef4479eb1b
Status: Downloaded newer image for registry:latest
$ docker pull registry:2
2: Pulling from library/registry
Digest: sha256:870474507964d8e7d8c3b53bcfa738e3356d2747a42adad26d0d81ef4479eb1b
Status: Downloaded newer image for registry:2
推荐阅读
- python - 如何在绘制其 R2 值时使趋势线穿过原点 - python
- neural-network - 了解反向传播算法中的梯度
- javascript - 如何在以下 html 中获取并传递具有 class="name" 的行的字段?
- sql - SQL Server:从多个表中选择并计算百分比
- php - spatie medialibrary 为每次转换定义后备图像
- python - 为什么我的 python 脚本没有创建 GNUPG 加密文件?
- java - 错误:来自 Spring Data Jpa 的列名 id 无效
- facebook - 使用 Facebook Job Application 停止 Dialogflow
- pandas - 不同索引 Pandas Dataframe 的多重比较
- jmeter - Jmeter:如何上传具有不同数据的动态excel文件并使用Jmeter进行负载测试