Docker构成的执行不会在Concourse中清理

时间:2017-10-13 22:33:21

标签: docker-compose concourse

我正在使用bosh进行单vm部署(遵循以下说明:http://concourse-ci.org/concourse-lite.html

在一堆构建之后,我的管道错误

/scratch/docker/tmp/GetImageBlob128904326: no space left on device

在我的Mac上,如果我进入~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux

Docker.qcow2已经增长到我的最大值~64gig

我的管道位于https://github.com/buildit/twig/blob/concourse/concourse/pipeline.yml

我唯一能想到的是,对于我的e2e测试,我正在复制我用来将docker-compose环境旋转到每个构建中的docker文件,所以它不会自己抓取它们(参见https://github.com/buildit/twig/blob/concourse/concourse/scripts/run_e2e_tests.sh)并且当步骤失败时,可能没有清理那些e2e环境(我现在故意失败)

我需要采取一些措施来清理这些容器吗?我运行fly -t lite volumes

时有27个容器

2 个答案:

答案 0 :(得分:0)

您是否尝试在docker容器中创建bosch环境?我们也尝试了这个并撤回了这个想法。如果你想测试一个bosh系统,请使用一个临时系统,而不是在这种情况下由Concourse提供测试环境。

答案 1 :(得分:0)

我实际上最终修改了我的docker-compose文件。在我看来,在脚本结束之前没有完成停靠者组合调用,所以事情没有完全清理。

我的测试跑步者现在配置如下

services:
  test-runner:
    ...
    depends_on:
      - e2e-couch
      - e2e-api
      - e2e-web
    ...

我开始使用docker-compose -f ./twig/concourse/compose/e2e.yml run --rm test-runner bash -c "cd /twig && npm install && npm run test:e2e:ci -- --base-href http://e2e-web"进行测试而不必费心去做一个码头工具。有关详细信息,请参阅原始问题中的原始github链接。

不确定为什么做Docker-compose down并没有清理它们但这完全正常。