1

実際、私は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
4

1 に答える 1