Docker Registry

Docker Registry 是一个用于存储和分发 Docker 镜像的系统。它可以被认为是一个 Docker 镜像的集中仓库,类似于 Git 版本控制系统中的代码仓库。Docker Registry 的主要功能是存储 Docker 镜像,并允许用户从中拉取(下载)和推送(上传)镜像。它是 Docker 生态系统中关键的组成部分,用于支持容器化应用程序的分发和部署,所以可以把公共仓库拷贝到私有仓库中,用来应对特殊的场景需求。

1. 搭建

Docker 提供了一个官方的 Registry 镜像,可以用来快速搭建私有注册表。

docker run -d -p 5000:5000 --name my-registry -v /path/to/registry:/var/lib/registry registry:2

默认情况下,Registry 会将镜像数据存储在容器内部的 /var/lib/registry 目录。

2. 拉取

需要从 Docker Hub 拉取您想要拷贝的公共镜像,例如 nginx

docker pull nginx:latest

3. 标签

为了将拉取的公共镜像推送到您的私有仓库,需要重新为镜像打标签(Tag)。

nginx:latest 是刚刚拉取的镜像

localhost:5000 是私有仓库的地址,可以为IP或者是Domain。

docker push localhost:5000/nginx:latest

4. 推送

现在,就可以将镜像推送到您的私有 Docker Registry。

docker push localhost:5000/nginx:latest

5. 验证

要验证镜像是否成功推送到您的私有仓库,可以使用其中一个命令检查仓库中是否存在 nginx 镜像:

curl -X GET localhost:5000/v2/_catalog
curl -X GET localhost:5000/v2/nginx/tags/list

6. 拉取

完成以上步骤后,已经成功将公共 Docker 镜像 nginx 拷贝到您的私有 Docker Registry。现在,可以在任何需要的地方通过拉取私有仓库中的 nginx 镜像来使用它。

docker pull localhost:5000/nginx:latest
最后修改:2024 年 08 月 27 日
如果觉得我的文章对你有用,请随意赞赏