Docker compose 如何运行tests阶段来测试Gitlab管道中正在运行的容器

Docker compose 如何运行tests阶段来测试Gitlab管道中正在运行的容器,docker-compose,gitlab,pytest,Docker Compose,Gitlab,Pytest,我有一个gitlab-ci.yml image: docker:latest variables: DOCKER_DRIVER: overlay services: - docker:dind before_script: - docker info - apk update - apk upgrade - apk add curl jq python3 python3-dev build-base libffi-dev libressl-dev gettext -

我有一个gitlab-ci.yml

image: docker:latest

variables:
  DOCKER_DRIVER: overlay

services:
- docker:dind

before_script:
  - docker info
  - apk update
  - apk upgrade
  - apk add curl jq python3 python3-dev build-base libffi-dev libressl-dev gettext
  - curl -O https://bootstrap.pypa.io/get-pip.py
  - python3 get-pip.py
  - pip install docker-compose
  - pip install pytest


build:
  stage: build
  script:
        -  docker image prune -f
        -  docker-compose -f docker-compose.yml build --no-cache
        -  docker-compose -f docker-compose.yml up -d




test:
    stage: test
    variables:
      DOCKER_TLS_CERTDIR: ""
    script:
        - docker ps 
        - pip install -r requirements.txt
        - pip install pytest-docker-compose
        - pwd
        - ls -l
        - export PYTHONPATH="$PYTHONPATH:."
        - python3 -c "import sys;print(sys.path)"
        - docker-compose -f docker-compose.yml build --no-cache
        - docker-compose -f docker-compose.yml up -d
        - docker ps

        - pytest --use-running-containers
        - apk install redis-cli
        - pytest --docker-compose-no-build --use-running-containers
   

     - pytest --docker-compose=docker-compose.yml

和dockercompose.yml

version: '3.4'
networks:
  internal_network:
services:
  web:
    build: ./HTTPSERV/
    ports:
      - 8080:8080
    networks: 
      - internal_network
    volumes:
      - ~/message-broker:/data/app
  rabbit:
    image: rabbitmq:3-management
    networks:
      - internal_network
    ports: 
      - 15672:15672
  obse:
    build: ./OBSE/
    networks: 
      - internal_network
    depends_on: 
      - rabbit
    volumes:
      - ~/message-broker:/data/app
    restart: always
  imed:
    build: ./IMED/
    networks: 
      - internal_network
    depends_on: 
      - rabbit
      - obse
    restart: always
  orig:
    build: ./ORIG/
    networks: 
      - internal_network
    restart: always
    depends_on: 
      - web
      - rabbit
      - obse
      - imed
  redis:
    image: redis
    networks:
      - internal_network
    depends_on: 
      - web
    ports:
      - 6379:6379 
Gitlab管道给出错误:

redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
我尝试过使用pytest docker compose 和其他解决方案,但没有任何帮助 错误在哪里?如何解决 第一个阶段是构建,它成功了,甚至在测试期间检查了容器,它们似乎正在运行