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

我在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”

mingkaifeng22 回答:尝试推送到私有不安全的Docker注册表时,检查推送权限时出错

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

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

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

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

,

如果使用不安全的注册表,则必须使用kaniko执行程序的--insecure选项,例如:

- /kaniko/executor --insecure --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $MY_REGISTRY/$MY_IMAGE:$MY_IMAGE_TAG
本文链接:https://www.f2er.com/3161685.html

大家都在问