5

I have a docker-compose.yml like this:

version: '2'
services:
  app:
    build: .
    volumes:
      - /usr/src/app

If I do docker-compose up, then any changes I make to the /usr/src/app are persisted across runs. I can control+C and then docker-compose up, and the contents are still there.

But if I do docker-compose run app ls -la /usr/src/app, then the path is always empty.

My goal is that I'd like to have that volume 1) automatically created on the fly for me, 2) specific to this docker-compose project (since I'll have many others), and 3) persist across docker-compose up/run/etc.

I think one way around this is to use named volumes, which will automatically pull the name of my docker-compose project.

But with on-the-fly containers, is this the expected behavior? They persist automatically for docker-compose up, and are recreated from scratch for each docker-compose run?

Also, is there any documentation that makes clear the lifetime of on-the-fly containers?

Thanks!

rocketmonkeys
  • 5,473
  • 5
  • 28
  • 21

0 Answers0