首页 > 解决方案 > Gitlab Docker登录错误的注册表

问题描述

我为 gitlab 配置了一个 docker runner,它工作正常,默认容器是 docker:stable 容器。在 Gitlab 中,我尝试将该容器用于 CI 作业,如下所示。

variables:
  GIT_SUBMODULE_STRATEGY: recursive
  GIT_STRATEGY: clone

stages:
  - build

build:
  stage: build
  script:
    - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
    - docker pull $CI_REGISTRY_IMAGE:latest || true
    - docker build --cache-from=$CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA -t $CI_REGISTRY_IMAGE:latest .
    - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
    - docker push $CI_REGISTRY_IMAGE:latest
  tags:
    - docker

有一个错误指出:

$ docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY 警告!通过 CLI 使用 --password 是不安全的。使用 --password-stdin。连接期间出现错误:发布http://docker:2375/v1.40/auth:拨打 tcp:在 192.168.24.10:53 上查找 docker:服务器行为不端

似乎 CI_REGISTRY 变量设置不正确,因为我在同一台服务器上运行了一个私有注册表。

标签: dockercontinuous-integrationgitlab

解决方案


确保变量在 GitLab 设置中不受保护或屏蔽。


推荐阅读