docker - 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 变量设置不正确,因为我在同一台服务器上运行了一个私有注册表。
解决方案
确保变量在 GitLab 设置中不受保护或屏蔽。
推荐阅读
- reactjs - React/Axios 基于键/值合并多个对象数组
- go - 使用“go build”进行交叉编译时提取目标文件时出现问题
- azure - Azure Functions - 按属性名称获取记录
- flutter - Flutter - 设置列表图块高度
- python - PyGame 程序一次只显示一个圆圈
- c++ - 这个错误的原因是什么?循环不会连续运行,它是一个菜单驱动的程序
- java - 将来自 Java API 的 byte[] 渲染为 Angular 2 中的图像
- jsf - 验证失败时,Primefaces 单元格编辑离开编辑模式
- url-rewriting - 如何根据 URL 中的参数定义不同的 docroot
- javascript - 如何删除数组中的重复属性值