使用gitlab docker:dind服务装载卷

使用gitlab docker:dind服务装载卷,docker,continuous-integration,gitlab,docker-dind,Docker,Continuous Integration,Gitlab,Docker Dind,我对gitlab runner使用docker:dind服务有问题 我正在尝试在作业上运行具有简单卷的docker compose文件,作业如下: test_e2e: image: tmaier/docker-compose stage: test services: - docker:dind variables: GIT_STRATEGY: none GIT_CHECKOUT: "false" DOCKER_DRIVER:

我对gitlab runner使用docker:dind服务有问题

我正在尝试在作业上运行具有简单卷的docker compose文件,作业如下:


test_e2e:
  image: tmaier/docker-compose
  stage: test
  services:
    - docker:dind
  variables:
    GIT_STRATEGY: none
    GIT_CHECKOUT: "false"
    DOCKER_DRIVER: overlay2
  before_script:
    - ls
  script:
    - cp .env.dist .env
    - docker-compose -f docker-compose.yml -f docker-compose-ci.yml up -d
作业正常启动,但docker-compose-ci.yml中的容器似乎没有按照其中的指定装载卷,这里是docker-compose-ci.yml

version: '3.3'

services:
  wait_app:
    image: dadarek/wait-for-dependencies
    networks:
      - internal
    depends_on:
      - traefik
      - webapp
    command: webapp:3000
  cypress:
    # the Docker image to use from https://github.com/cypress-io/cypress-docker-images
    image: "cypress/included:6.5.0"
    networks:
      - internal
    depends_on:
      - traefik
      - webapp
      - api
      - mysql
      - redis
    environment:
      # pass base url to test pointing at the web application
      - CYPRESS_baseUrl=http://app.localhost:3000
    working_dir: /cypress
    volumes:
      - ./cypress/:/cypress
这里,如果我在容器cypress中创建一个/cypress文件夹的“docker exec app_cypress_1 sh-c”ls-al“| | 1”,即使主机上确实有文件,我也将一无所获

但我尝试了runner 13.7.0的另一个版本,而不是13.5.0,它的工作原理与预期一致

问题出在哪里?是gitlab runner吗?也许我可以更改另一个参数使其工作


谢谢

dind服务在其容器中查找绑定挂载,而不是从您的结帐处。您需要与
dind
容器共享工作区。github
操作运行程序也有同样的问题。