実際、私はdocker executorでgitlabランナーを使用しており、いくつかのdockerイメージをプルしていくつかのテストを行い、ネットワーク接続を維持するために、プライベートdockerレジストリを作成してイメージを「キャッシュ」しました。
したがって、私のレジストリは私の gitlab ランナーにリンクされています (config.toml https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnersdocker-sectionの構成を使用) 。
この作業、私のイメージはレジストリに問い合わせることができます:
$ wget http://registry:5000/v2/_catalog
--2019-02-15 10:40:54-- http://registry:5000/v2/_catalog
Resolving registry... 172.17.0.3
Connecting to registry|172.17.0.3|:5000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20 [application/json]
Saving to: '_catalog'
0K 100% 1.17M=0s
2019-02-15 10:40:54 (1.17 MB/s) - '_catalog' saved [20/20]
しかし、DIND サービスはできません:
pull registry:5000/arminc/clair-db:latest
Error response from daemon: Get http://registry:5000/v2/: dial tcp: lookup registry on 192.168.9.254:53: no such host
このタスクのための私の gitlab-ci conf
scan:image:
stage: scans
image: docker:git
services:
- name: docker:dind
command: ["--insecure-registry=registry:5000"]
variables:
DOCKER_DRIVER: overlay2
allow_failure: true
script:
- chmod 777 ./docker/scan.sh
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD $DOCKER_REGISTRY
- ./docker/scan.sh
artifacts:
paths: [gl-container-scanning-report.json]
only:
- master