Доступ к службе GitLab CI из контейнера, запущенного внутри DinD - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь запустить непрерывную интеграцию в GitLab CI, состоящую из:

  • построения образа докера
  • запуска тестов
  • толкания образа докера вреестр

Они выполняются внутри одного задания.Я могу сделать это без каких-либо проблем до тех пор, пока не появится тест, который должен взаимодействовать с базой данных.Мой контейнер не может связаться с определенными службами Postgres.

Я воспроизвел его в общедоступном хранилище с простым ping сценарием

image: docker:stable

services:
  - docker:dind
  - postgres:latest

job1:
  script:
    - ping postgres -c 5
    - docker run --rm --network="host" alpine:latest sh -c "ping postgres -c 5"

Первый сценариймог работать без проблем, но второй не удался с ошибкой

ping: bad address 'postgres'

Как я могу получить доступ к службе?

Или я должен запустить тест в другом задании?

...