I am a newbie who is struggling with the CI process in gitlab. Namely, I am unable to mount a volume in docker-compose. Hope somebody can help!
I am starting a docker-compose process from within a gitlab CI job and am using the docker-in-docker executor configuration from gitlab docs.
services: - name: registry.gitlab.com/plantoeducate/devops/dind-git/dind-git alias: docker - name: registry.gitlab.com/plantoeducate/api-db:latest alias: postgres build: - docker-compose -f docker-compose.yaml -f docker-compose.test.yaml --verbose up
The docker-compose file contains a volume mount:
tusd: ..... env_file: - ./config/.tusd.test.env volumes: - $PWD/certs:/server/certs
From within the gitlab CI process I can issue an
ls command and successfully view the contents of $PWD/certs. However, when the docker-compose process starts up the container, the files are not mounted in /server/certs.
Does anyone have any idea why files do not seem to be mounted in /server/certs in the container? I have tested the docker-compose on local machine and it works fine. It does not seem to mount from within a build container! Any ideas?
Updated with solution
After reading another forum post solved the issue. In summary, volumes must be linked from source directories inside project dir, i.e. $CI_PROJECT_DIR.