# Keep images between each tests

**URL:** <https://discuss.circleci.com/t/keep-images-between-each-tests/16977>\
**Category:** Build Environment\
**Tags:** docker\
**Created:** [September 29, 2017, 9:19pm UTC](https://discuss.circleci.com/t/keep-images-between-each-tests/16977 "2017-09-29T21:19:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![GCorbel](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/gcorbel/32/8655_2.png) [@GCorbel](https://discuss.circleci.com/u/GCorbel)\
**Post date:** [September 29, 2017, 9:19pm UTC](https://discuss.circleci.com/t/keep-images-between-each-tests/16977/1 "2017-09-29T21:19:58Z")

</div>

Hello,

I’m trying to find a way to keep images between each run with docker-compose. I know it’s possible with docke, by using cache and `docker save`, but it’s a little bit more complicated with `docker-compose`. I have [this issue](https://discuss.circleci.com/t/docker-compose-yml-and-volume-mounts/10043) when I try to use a docker based job so I have to set `machine: true` and I can’t use `setup_remote_docker`.

I use this config for circleci :

```
defaults: &defaults
  working_directory: /home/circleci/product
  machine: true

version: 2
jobs:
  test_api:
    <<: *defaults
    steps:
      - checkout
      - restore_cache:
          keys:
            - gem-cache-{{ arch }}-{{ .Branch }}-{{ checksum "api/Gemfile.lock" }}
      - run: set -x && sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
      - run: docker-compose run api bundle
      - run: docker-compose run api rake db:create
      - run: docker-compose run api rake db:schema:load
      - run: docker-compose run api rspec spec
      - save_cache:
          key: gem-cache-{{ arch }}-{{ .Branch }}-{{ checksum "api/Gemfile.lock" }}
          paths:
            - api/tmp/bundle

  test_frontend:
    <<: *defaults
    steps:
      - checkout
      - restore_cache:
          keys:
            - bower-cache
      - restore_cache:
          keys:
            - yarn-cache-{{ arch }}-{{ .Branch }}-{{ checksum "frontend/yarn.lock" }}
      - run: set -x && sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose
      - run: docker-compose run frontend yarn
      - run: docker-compose run frontend ember test --silent
      - save_cache:
          key: yarn-cache-{{ arch }}-{{ .Branch }}-{{ checksum "frontend/yarn.lock" }}
          paths:
            - frontend/node_modules
      - save_cache:
          key: bower-cache
          paths:
            - frontend/bower_components

workflows:
  version: 2
  build_and_test:
    jobs:
      - test_api
      - test_frontend

```

What is the best solution ?

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/circleci/original/3X/5/1/511608acda8e85906e15909b57bd0a46c1dbe291.png) [@system](https://discuss.circleci.com/u/system)\
**Post date:** [June 18, 2018, 11:39am UTC](https://discuss.circleci.com/t/keep-images-between-each-tests/16977/2 "2018-06-18T11:39:58Z")

</div>

Closed on June 18, 2018, 11:39am UTC


