如何在 Kubernetes 中部署 Docker Registry

阅读时长 5 分钟读完

Docker Registry 是一个用于存储和分发 Docker 镜像的开源工具。在 Kubernetes 集群中使用它可以让开发者更方便地管理容器镜像。本文将为大家介绍如何在 Kubernetes 中部署 Docker Registry。

准备工作

在开始部署 Docker Registry 之前,需要确保 Kubernetes 集群已经运行,并且你有足够的权限来创建 Kubernetes 资源,包括 namespace、deployments、services、secrets 和 configmaps。

在这里我使用的是 Minikube,在安装完成之后,需要执行以下命令来启用 Minikube 中的 Docker Registry:

这将启动一个名为 registry 的 Pod,用于存储和分发 Docker 镜像。

部署 Docker Registry

接下来,我们需要创建一些 Kubernetes 资源来部署 Docker Registry。

首先,创建一个名为 regcred 的 secret,并将其用于 Docker Registry 的身份验证:

-- -------------------- ---- -------
----------- --
----- ------
---------
  ----- -------
  ---------- -------
-----
  --------- ------- ------- ------ -------- ---------
  --------- ------- ------- ------ -------- ---------
----- ------------------------
展开代码

在这里需要将 <base64 encoded docker registry username><base64 encoded docker registry password> 替换为你的 Docker Registry 账户的用户名和密码的 Base64 编码。

然后,创建一个 ConfigMap, 用于存储 Docker Registry 的相关配置信息:

-- -------------------- ---- -------
----------- --
----- ---------
---------
  ----- ----------
-----
  -------- -
    ------
      --------------- --------
    -----------
      -------------- -----------------
展开代码

最后,创建一个 Deployment 和一个 Service:

-- -------------------- ---- -------
----------- -------
----- ----------
---------
  ----- --------
  ---------- -------
-----
  ---------
    ------------
      ---- --------
  --------- -
  ---------
    ---------
      -------
        ---- --------
    -----
      -----------------
      - ----- -------
      -----------
      - ----- --------
        ------ ----------
        ------
        - -------------- ----
        -------------
        - ----- --------
          ---------- -----------------
        ----
          - ----- -----------------------------------------
            ----------
              ----------------
                ----- ----------
                ---- -------
      --------
      - ----- --------
        --------- --
---
----------- --
----- -------
---------
  ----- --------
  ---------- -------
-----
  ------
  - ----- ----
    ----- ----
    ----------- ----
  ---------
    ---- --------
展开代码

这将创建一个名为 “registry” 的 Deployment,并在 Kubernetes 中创建一个名为 "registry" 的 Service。通过该 Deployment 和 Service,我们可以将 Docker Registry 暴露到 Kubernetes 集群中,供其他应用程序使用。

使用 Docker Registry

在部署并成功运行 Docker Registry 后,我们可以使用 Docker CLI 来操作它。

首先,我们需要登录到 Docker Hub:

然后,我们可以使用以下命令将本地 Docker 镜像推送到 Docker Registry 中:

这将把 Docker 镜像标记为 localhost:5000/<image-name>:<tag> 并将其推送到 Docker Registry。

我们还可以使用以下命令从 Docker Registry 中拉取镜像:

这将拉取 Docker Registry 中标记为 <image-name>:<tag> 的镜像。

结论

在本文中,我们介绍了如何在 Kubernetes 中部署 Docker Registry,并使用 Docker CLI 操作它。希望本文能帮助你更好地管理容器镜像。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67725bc36d66e0f9aad80574

纠错
反馈

纠错反馈