как вытащить из частного реестра в gitlab CI, с докером DIND - PullRequest
0 голосов
/ 15 февраля 2019

на самом деле я использую gitlab runners, с docker executor, и я пытаюсь получить некоторые образы docker для выполнения некоторых тестов, и чтобы сохранить сетевое соединение, я создал частный реестр docker, чтобы "кэшировать"изображения.

Итак, мой реестр связан с моим gitlab runner (с настройкой в ​​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
...