【问题标题】:Alias for private docker repository私有 docker 存储库的别名
【发布时间】:2018-06-24 06:16:53
【问题描述】:

是否可以为私有 docker 存储库定义别名?

我在服务器 docker.internal.example.com 上有一个存储库供内部使用,外部不可用。现在我希望能够将图像推送到另一个存储库 docker.distr.example.com,它可用于客户端安装。

一切都会好的,如果最终图像不依赖于中间图像,在 FROM 中引用,例如:

FROM docker.internal.example.com:5000/java/jetty-jdk8:latest

无法从 docker.distr.example.com 拉取该图像,因为无法解析对 java/jetty-jdk8 的引用(docker.internal.example.com 将不可见)。

理想情况下,我希望能够写得简单

FROM java/jetty-jdk8:latest

但我知道出于某种奇怪的原因,docker 开发人员认为它不安全,所以这样的事情就足够了:

FROM DOCKER-PRIVATE:5000/java/jetty-jdk8:latest

【问题讨论】:

    标签: docker repository


    【解决方案1】:

    据我所知,目前 Docker 不支持别名。

    但您可以使用以下可能的解决方案之一:

    1. 为您的注册域创建 DNS CNAME 条目。

    2. 在您要使用的机器上的 /etc/hosts 文件中创建别名。

    您可以在 Google 网上论坛讨论HERE 中阅读更多详细信息。

    【讨论】:

      【解决方案2】:

      您要查找的别名是您可以在本地创建的 DNS 条目。您需要弄清楚私有注册表的 IP 地址。

      您可以通过运行 host docker.internal.example.com 来做到这一点。

      编辑/etc/hosts 并添加一个类似docker-registry ip-address-of-registry 的条目

      【讨论】:

      • docker 会确认该服务器的证书吗?
      • @9ilsdx9rvj0lo 是的。 dns 名称将仅解析为您在 /etc/hosts 中设置的 ip。
      • 这个或另一个变化会影响docker images的输出吗?我有一个冗长的私有存储库,它会导致每个图像条目包装成 2 行,从而使命令输出的可读性大大降低。我按照建议在/etc/hosts 中输入了IP,但docker images 的输出仍然包含完整的详细UR​​I
      猜你喜欢
      • 1970-01-01
      • 2016-12-31
      • 1970-01-01
      • 2020-10-25
      • 2023-03-20
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多