使用gitlab docker:dind服务装载卷
我对gitlab runner使用docker:dind服务有问题 我正在尝试在作业上运行具有简单卷的docker compose文件,作业如下:使用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:
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操作运行程序也有同样的问题。