[英]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.