Docker 显示当前注册表

Docker show current registry

在docker中,如何显示您当前登录的当前注册表信息?我安装了 docker,如果我现在执行 docker 推送,它将把我的图像发送到哪里?

我花了 30 多分钟从 Google 和 docker 文档中搜索此信息,但找不到它,所以我认为它值得自己提问。

没有 "current" 注册表的概念 - 完整图像标签始终包含注册表地址,但如果未指定注册表,则默认使用 Docker 集线器。

所以 docker push user/app 推送到 Docker Hub。如果您想将其推送到本地注册表,您需要使用注册表地址明确标记它:

docker tag user/app localhost:5000/user/app
docker push localhost:5000/user/app

如果您的本地注册表是安全的,您需要 运行 docker login localhost:5000 不会更改默认注册表。如果您在标签中没有注册表地址的情况下推送或拉取图像,Docker 将始终使用 Hub。

This issue解释了基本原理。

图像的工作方式 docker 不是最明显的,但很容易解释。

您的图像将被发送到的位置必须在图像名称中定义。 提交镜像时,必须将其命名为 [registry-IP]:[registry-port]/[imagepath]/[image-name]

如果您已经创建了映像并希望将其发送到本地注册表,则必须在推送之前对其进行标记,包括注册表路径:

docker tag [image-name] [registry-IP]:[registry-port]/[image-name]

docker push [registry-IP]:[registry-port]/[image-name]