docker - 带有 Harbour Registry 的 CI/CD Gitlab
问题描述
我有 3 台服务器
- GitLab
- Gitlab 亚军
- 港口注册处
当我在 Gitlab 上运行 CI/CD 但它无法登录到 Harbor Registry。这是错误。
Get https://172.21.5.247/v1/users/: x509: cannot validate certificate for 172.21.5.247 because it doesn't contain any IP SANs
当我尝试在服务器 Gitlab 上登录 docker 并且 Gitlab Runner 成功。我将“不安全注册表”添加到两个服务器。
.gitlab.ci.yml 文件
image: docker:18-git
variables:
DOCKER_DRIVER: overlay2
DOCKER_TLS_CERTDIR: ""
DOCKER_HOST: tcp://localhost:2375
stages:
- build
- push
services:
- name: docker:dind
command: ["--insecure-registry=172.21.5.247:443"]
before_script:
- echo $HARBOR_USERNAME
- echo -n $HARBOR_PASSWORD | docker login -u $HARBOR_USERNAME -p $HARBOR_PASSWORD $HARBOR_REGISTRY
- docker version
- docker info
after_script:
- docker logout $HARBOR_REGISTRY
Build:
stage: build
script:
- docker pull $HARBOR_REGISTRY_IMAGE:latest || true
- >
docker build
--pull
--cache-from $HARBOR_REGISTRY_IMAGE:latest
--tag $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_SHA
Push_When_tag:
stage: push
only:
- tags
script:
- docker pull $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_SHA
- docker tag $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_SHA $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
- docker push $HARBOR_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
docker登录有错误。
解决方案
推荐阅读
- mysql - 获取 SQL 错误“每个派生表都必须有自己的别名 sql”
- html - 如何使网页的打印视图缩放以始终适合单个物理页面?
- python - 使用 Python 3 和 Cloud NDB 的 msgprop.EnumProperty 和 messages.Enum 的最佳实践是什么?
- c# - 从 Razor 页面发布会清除模型值 - 什么时候不应该?
- java - 我正在尝试使用 Apache POI 库读取 excel 文件,但是当我尝试读取单元格类型时,我得到一个空指针异常
- react-native - 位置错误“谷歌播放服务不可用”,反应原生
- java - 如何让会员在安卓应用上互相聊天
- html - 上传照片按钮未打开任何窗口以从中选择文件
- node.js - npm config 并添加更多而不是仅使用 default.json
- python - ModelForm在Django中没有指定模型类错误