如何使GitLab CI / CD DIND使用不安全的注册表

时间:2020-07-10 15:47:27

标签: docker gitlab-ci

我的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

有人知道为什么会这样吗?不幸的是,我已经尝试了该测试文件的许多不同迭代,并且我刚刚开始进行少量更改,但是没有任何效果。我什至尝试过使用较旧的容器版本,但一切都是不可行的,我从未能够添加不安全的注册表。

1 个答案:

答案 0 :(得分:0)

替换

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

作者

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

还要确保第一行指定正确的图像以及一些环境变量:

image: docker:19.03-dind

variables:
  DOCKER_DRIVER: overlay2
  DOCKER_TLS_CERTDIR: "/certs"

services:
  - docker:19.03-dind
# .... rest of your config
相关问题