Как заставить GitLab CI / CD DIND использовать небезопасные реестры - PullRequest
1 голос
/ 10 июля 2020

У меня в конфигурации GitLab CI / CD есть следующее:

image: docker:19.03.0

services:
  - name: docker:19.03.0-dind
    command: ["--insecure-registry=My_IP:4567"]

variables:
  DOCKER_DRIVER: overlay2
  DOCKER_TLS_CERTDIR: ""

before_script:
  - docker info
  - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN My_IP:4567

Все, что я могу найти, утверждает, что это должно допускать небезопасные реестры в моем docker контейнере, однако это не похоже на правду ( больше?). Как я вижу в конце журнала выполнения:

  Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
$ docker login -u gitlab-ci-token -p $CI_JOB_TOKEN My_IP:4567
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get https://My_IP:4567/v2/: http: server gave HTTP response to HTTPS client
ERROR: Job failed: exit code 1

Кто-нибудь знает, почему это может происходить? К сожалению, я перепробовал много разных версий этого тестового файла, я только начал вносить множество мелких изменений, но ничего не помогло. Я даже пробовал старые версии контейнеров, но все не go, мне никогда не удавалось добавить небезопасный реестр.

1 Ответ

0 голосов
/ 10 июля 2020

заменить

command: ["--insecure-registry=My_IP:4567"]

на

command: ["--insecure-registry","My_IP:4567"]

Также убедитесь, что первая строка указывает правильное изображение, а также некоторые переменные env:

image: docker:19.03-dind

variables:
  DOCKER_DRIVER: overlay2
  DOCKER_TLS_CERTDIR: "/certs"

services:
  - docker:19.03-dind
# .... rest of your config
...