docker-compose.yml
содержит определение тома и службу, которая его использует.
#(This is a reduced but representative example)
services:
mongo:
image: mongo:3.6.11
...
volumes:
- "mongodb:/data/db/"
volumes:
mongodb:
driver: local
driver_opts:
type: "none"
o: "bind"
device: "$PWD/.storage/mongodb"
Я удалил весь каталог .storage/mongodb
, желая заставить следующий docker-compose up
не использовать какой-либо том снова.
Вместо этого я получил сообщение об ошибке: у докера отсутствовали данные тома.
Creating mongo ... error
ERROR: for mongo Cannot create container for service mongo: failed to mount local volume: mount <...>/.storage/mongodb:/var/lib/docker/volumes/mongodb/_data, flags: 0x1000: no such file or directory
Как я пытался это исправить:
docker-build up --build --force-recreate
. Сборка и перезапуск контейнера не работают.
docker volume ls -q | while read id; do docker volume rm "$id"; done
. Удаление томов, похоже, тоже не помогло.
Я предполагаю, что докер может восстановить данные удаленных томов, так как самый первый docker-compose up
работает без инициализированного каталога .storage
.
В принципе, я хочу, чтобы docker-compose up
работал.
Было бы также замечательно понять проблему.
С нетерпением ждем вашей помощи!