Docker 私有镜像仓库是您自己的仓库,您可以在其中存储自己的 Docker 镜像并与他人共享。Docker 镜像仓库基本上由 Docker Repositories组成。在 Docker 仓库中,您可以维护特定版本的Docker 镜像。
什么是 Docker Registry?
Docker Registry是您自己的私有仓库,您可以在其中存储自己的 Docker 镜像并与他人共享。Docker 镜像仓库基本上由 Docker Repositories组成。在 Docker 仓库中,您可以维护 Docker 镜像的特定版本。DockerHub 是用于拉取 Docker 镜像的公共仓库。DockerHub是一个公共镜像仓库,任何人都可以拉取存储在 DockerHub 中的镜像。
公共和私有 Docker 镜像仓库
Docker Hub 提供的两种仓库类型是公共仓库和私有仓库。由于我们的大多数 Docker 镜像都包含源代码以及应用程序所需的所有依赖项,因此任何使用我们存储在 Docker Hub 公共仓库中的 Docker 镜像的用户都可以访问公共仓库,这对企业来说很不利。因此,Docker Hub 提供了付费的私有仓库;但是,由于云存储价格昂贵,许多镜像无法存储在那里。
我们可以在本地计算机上创建一个免费的个人 Docker 镜像仓库。我们可以使用私有镜像仓库来调整身份验证、负载均衡以及其他配置。这样,我们就可以将镜像保存在一个私密的地方。
设置私有 Docker 镜像仓库的步骤
按照以下步骤设置 docker 注册表:
运行私有 Docker 注册表
步骤 1:使用以下请求拉取 Docker 注册表镜像:
$ docker pull registry
此命令将从 docker 注册表中提取 docker 最新镜像
第 2 步:使用以下命令配置并运行 docker registry 镜像:
$ docker run -d -p 5000:5000 --name localregistry registry
此命令将在本地主机 5000 端口启动 docker 容器镜像仓库。使用的基础镜像即为镜像仓库。localregistry即为容器名称。
现在我们还将了解如何从本地注册表容器中拉取、推送和删除镜像。本地注册表容器推送成功后,控制台中会返回容器 ID。
您可以通过运行以下命令来验证:
$ docker ps
容器 ID 镜像命令创建状态端口名称
25a66bd4219f registry “/entrypoint.sh /etc…” 10 秒前启动 9 秒 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp localregistry
步骤 3:从 DockerHub 拉取镜像。
让我们尝试从 DockerHub 拉取一些镜像并将它们推送到你的 Docker 私有镜像仓库。为了演示,我们以一个版本的 Ubuntu 镜像和最新的 Nginx 服务器镜像为例。
将镜像推送到私有镜像仓库
步骤 1:标记从 DockerHub 拉取的镜像。
-
localhost:5000 -> 你的 docker 私有仓库的主机
-
ubuntu:存储库名称
-
18.04:用于标识版本的标签
第 2 步:将标记的图像推送到您的 docker 私有注册表。
将镜像推送到私有镜像仓库
步骤 1:从私有 Docker 镜像仓库拉取 Docker Nginx镜像。我们这里拉取的是托管在私有镜像仓库(即localhost:5000)上的 Nginx 最新 Docker 镜像。