в докере?
Например, я не пойму вот какую штуку.
За исходную команду подъёма берём:
docker run \
-p 27017:27017 \
-d \
--name mongo \
mongo
По умолчанию MongoDB сама создаёт себе VOLUME /data/db /data/configdb в официальном Dockerfile. По идее этож Docker-managed volume так? Почему после docker rm -f mongo и повторного подъёма не подхватывается дефолтный volume? Он же должен по идее скопироваться с хостового, что происходит?
Если я сначала создаю volume своими грязными ручонками: docker volume create mongo_data и присобачиваю его в момент старта:
docker run \
-p 27017:27017 \
-d \
--name mongo \
-v mongo_data:/data/db \
mongo
, то после удаления контейнера и его поднятия той же командой, всё подхватывается спокойно.
Однако, если я хочу использовать Bind-mount volume с виндовым абсолютным путём, то получается дичь:
docker run \
-p 27017:27017 \
-d \
--name mongo \
-v G:/MONGO_DATA:/data/db \
mongo
Поднимаем контейнер, volume в G:/MONGO_DATA создаётся, удаляю контейнер, пытаюсь поднять его снова - ***aborting after fassert() failure.
В общем мне бы разобраться во всём этом. Вдруг кто сам писал статьи по теме или читал.
может не стоит rm -f делать? я не уверен. что он даёт спокойно завершиться
А вот щас попробую.
а так в первом и втором случае не должно поведение различаться. а как там винда работает одному Биллу известно )
https://habr.com/ru/company/southbridge/blog/534334/ из свежего )
Читал уже, спасибо.
Обсуждают сегодня