Вы можете изучить и протестировать дополнительные функции, связанные с томами, с помощью справки CLI, а затем транспонировать для создания.
docker volume create --help
https://docs.docker.com/engine/reference/commandline/volume_create/
Обратите внимание, что приведенный ниже пример может не работать на Windows, поэтому встроенный локальный драйвер на Windows не поддерживает никаких параметров, но если вы используете docker на Linux, следующий файл компоновки должен выполнить эту работу. :
version: "2"
volumes:
pgdata:
driver: local
driver_opts:
type: 'none'
o: 'bind'
device: '/path/to/the/external/storage'
cache:
services:
postgres:
image: "openmaptiles/postgis:${TOOLS_VERSION}"
volumes:
- pgdata:/var/lib/postgresql/data
Вы также можете изменить параметры запуска docker, чтобы данные сохранялись в выбранном вами месте. Вот руководство: https://linuxconfig.org/how-to-move-docker-s-default-var-lib-docker-to-another-directory-on-ubuntu-debian-linux
В качестве альтернативы, если вам удобнее пытаться решить эту проблему в ОС, а не docker, вы можете попробовать некоторые трюки в на уровне файловой системы для создания символической c ссылки в / var / lib / docker / volume / для указания на ваше внешнее хранилище, но будьте осторожны и сделайте резервную копию всего . Я лично никогда не пробовал это сделать, но считаю, что это должно быть прозрачно для драйвера хранилища docker.