Gitlab CI pipeline not able to send requests to docker image that are up

Viewed 17

We have spring boot project with integration tests running on local. To run them on GITLAB CI, we have a docker compose file which spins up a few images, one of which hosts a graphQL engine on 8080. The integration tests work fine on local, but when we run it as a part of pipeline, the test fail to connect to the graphQL image, even though docker -ps says the image is up and running.

gilab Ci file - Integration test

integration-test:
  stage: test
  artifacts:
    when: always
    reports:
      junit: build/test-results/test/**/TEST-*.xml
  before_script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
    - docker-compose --version
    - docker-compose -f docker-compose.yml up -d --force-recreate
    - docker-compose ps
    - docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' springboot-streamengine_metadata-db_1
    - docker logs springboot-streamengine_graphql-engine_1
  tags:
    - docker
  services:
    - alias: docker
      command: [ "dockerd", "--host=tcp://0.0.0.0:2375" ]
      name: docker:19.03-dind
  script:
    - ./gradlew integrationTest -Pgraphql_url=http://docker:8080/v1/graphql  -Pmodelservice_url=docker:8010 -Ptimeseries_db_url=jdbc:postgresql://docker:5435/postgres --info
  after_script:
    - docker-compose down -v

Logs showing the image is up - enter image description here

Error while connecting to the graphQl engine : enter image description here

Has anyone seen this error before? We have played around with different versions of dind, all report same issue. Any leads will be helpful.

TIA

0 Answers
Related