[尝试推送到私有不安全的Docker注册表时检查推送权限时出错

问题描述 投票:0回答:1

我在kubernetes,kaniko上使用gitlabRunner将图像推送到docker私有注册表(不安全),我如何赋予kaniko推送权限?

我尝试了--insecure-registry,-skip-tls-verify参数,但是有相同的错误

build:
  stage: build
  image:
    name: gcr.io/kaniko-project/executor:debug
    entrypoint: [""]
  script:
    - /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --insecure-registry --destination registry-ip:5000/soccer

错误检查推送权限-确保您输入了正确的标签名称,并且您已正确验证身份,然后重试:检查“ registry-ip:5000 / soccer”的推送权限:http://registry-ip:5000/v2/soccer/blobs/uploads/:net / http :HTTP / 1.x传输连接断开:格式错误的HTTP响应“ \ x15 \ x03 \ x01 \ x00 \ x02 \ x02 \ x16”

kubernetes gitlab-ci gitlab-ci-runner docker-registry kaniko
1个回答
0
投票

推送到不安全的注册表需要更改docker守护程序。需要编辑Docker守护程序(无论您用于Kubernetes集群的任何运行时,例如Docker,Containerd等,我都会假设您使用Docker守护程序)以允许不安全的注册表。编辑/etc/docker/daemon.json并添加以下内容:

{
    "insecure-registries" : [ "registry-ip:5000" ]
}

然后在每个节点上重新启动docker。

一种更好的方法是在本地docker注册表上添加某种形式的身份验证。您可以在Docker注册表上启用HTTP基本身份验证。或者,您也可以使用签名证书在Docker注册表上设置SSL(不过,自签名证书需要先添加到Docker守护程序中,然后才能被信任)。

© www.soinside.com 2019 - 2024. All rights reserved.