如何使用docker-compose将卷从Jenkins工作区映射到Docker容器

时间:2019-01-28 05:02:18

标签: postgresql docker jenkins docker-compose

我有一个docker-compose.yaml,它启动快速服务器,并postgres database在单独的容器中。 postgres容器将卷映射到db文件夹,该文件夹包含数据库种子脚本。在本地,docker-compose运行良好,我可以对联网容器执行集成测试。但是,在Jenkins上运行时,相同的脚本会失败,并显示以下错误:

  

错误:对于数据库,无法启动服务数据库:创建安装时出错   源路径   '/ var / jenkins_home / workspace / project_name / db':   mkdir / var / jenkins_home:只读文件系统

docker-compose.yaml

...

db:
    image: postgres:10.5
    restart: always
    networks:
      - cloud
    environment:
      POSTGRES_USER: someuser
      POSTGRES_PASSWORD: somepassword
      POSTGRES_DB: somedb
    ports:
      - 5432:5432
    volumes:
      - ./db:/docker-entrypoint-initdb.d
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U someuser -d somedb"]
      interval: 10s
      timeout: 5s
      retries: 5

我在several places中读到,卷需要绝对路径(不是相对路径),但是我尝试将/var/jenkins_home/workspace/project_name/db编码到卷配置的左侧无济于事。

0 个答案:

没有答案