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