# docker 私有仓库设置忽略https

# 背景

我们在使用公司私有的docker仓库的时候,通常是没有https的。因此需要设置私有仓库在push和pull镜像文件的时候忽略https验证。具体步骤如下。

# 步骤

  1. 编辑 Docker Daemon 的配置文件。
{
    // 请将 "your-private-registry-url" 替换为你私有仓库的地址,例如 http://example.com。 
    "insecure-registries": ["your-private-registry-url"]
}
  1. 保存并关闭配置文件。

  2. 重新启动 Docker 服务,以使配置更改生效。

# 讲解

insecure-registries 是 Docker Daemon 的配置项之一,用于指定不需要进行 HTTPS 加密的私有仓库地址列表。

在 Docker 中,默认情况下,所有的镜像仓库都要求使用 HTTPS 进行通信,以确保数据的安全性和完整性。这是由于 HTTPS 使用了加密协议,可以防止数据被窃取或篡改。然而,有时在开发或测试环境中,我们可能会使用自签名证书或没有 HTTPS 支持的私有仓库。

insecure-registries 配置项允许你指定一组私有仓库的地址,告诉 Docker Daemon 这些仓库可以使用不安全的 HTTP 协议进行通信,而无需进行 HTTPS 加密。通过将私有仓库的地址添加到该配置项中,Docker 将不再验证这些仓库的证书,并使用不安全的方式与它们进行通信。

请注意,使用 insecure-registries 配置项会带来一定的安全风险,因为数据在传输过程中不受加密保护,可能会被窃取或篡改。因此,在生产环境中,建议避免使用该配置项,并始终使用安全的 HTTPS 连接与镜像仓库进行通信。