我有一个带有Postgres数据库的Django项目。 我正在使用Gitlab CI通过Shell Runner测试我的项目。
在使用命令docker-compose up -d
在运行任务期间挂载我的卷时,db
文件夹被root
所拥有的Postgres i 装载
我不明白为什么,因为容器中的其他文件也是卷,但是它们由gitlab-runner
用户拥有。
所以我的CI失败了,因为跑步者无法删除build
文件夹。我找到了在构建过程中运行mkdir -p db/coreApi
的解决方案,但我想知道其背后的原因。
这是我文件的运行输出。
这是我的docker-compose.yml
文件以及这些卷。
version: '3'
services:
db:
image: 'postgres'
volumes:
- ./db/coreApi:/var/lib/postgresql/data
web:
restart: always
container_name: coreapi_web_container
build: .
depends_on:
- db
command: bash -c "python manage.py runserver 0.0.0.0:8000"
volumes:
- .:/code
ports:
- "8000:8000"