Named volumes on desired location

Viewed 14

I need to store the project on the mounted drive using the docker-compose file, placed at the root of that drive. I want to use docker volumes, not as bounded folders, but as named volumes. But I do not want to store it physically on the default location (/var/lib/docker/volume), because the system drive is small. How can I set up named volumes in docker-compose and ask the docker to create volumes in the same place where the docker-compose file is located?

1 Answers

Recommended: If system drive is small then you should move the docker data-root to some other location. This will keep compose file same across all users/systems.

Not Recommended: For having a named volume on desired location, you can specify driver_opts for the volume driver.

e.g. for local driver, declare top level volumes in compose file as

volumes:
  my_volume:
    driver: local
    driver_opts:
      type: none
      device: "/full/host/path/"
      o: bind

This change will apply to all systems your docker compose is used, with small system drives or large.

Related