繁体   English   中英

Gitlab Docker 登录到错误的注册表

[英]Gitlab Docker login on wrong registry

我为 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 : dial tcp: lookup docker on 192.168.24.10:53: 服务器行为异常

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

确保变量在 GitLab 设置中没有受到保护或屏蔽。

我有一个类似的问题。 就我而言,我没有使用自己的 gitlab 运行。 经过大量阅读,我发现跑步者需要使用--privileged=true选项运行。 然后我终于意识到“Group Runners”并没有设置那个标志。 通过在 gitlab 的 ci/cd 设置中禁用“Group Runners”并仅启用“Shared Runners”,问题得到了解决。 希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM