сергей кузьмин, В этом случае создает просто папку docker-file рядом с папкой node, если добавлять новые файлы все равно до docker compose build - не видит
mayton2019, А куда их и как включать в таком случае? И как быть с ситуациями в таком случае с движками, когда надо что бы файлы, картинки хранились в папке с движком?
mayton2019, Какая мистика? Я ни слова не написал что они исчезают, я сказал что они индексируются в контейнере только после docker compose build, до этого в контейнер файлы не попадают
mayton2019, Вот я запустил контейнер когда в file был только файл 2134.txt, зашел в контейнер, ls показало этот файл, я в папку file кинул еще 1 файл, прописал ls и этого файла нет в контейнере
сергей кузьмин, ну вот я в docker-compose прописываю
volumes:
- ./save/nodejs-app:/node
- /docker-file/node/file:/node/file
/docker-file/node путь к файлам проекта, file папка для файлов.
Делаю build потом up. Приложение встает, папка пуста, я через файл зиллу в /docker-file/node/file создаю новый файл test.txt, выполняю обход файлов и ничего нет
docker-file-node-1 | []
Пустой массив
При этом если я все выключу, запущу опять build, up, после старта он начинает видеть эти файлы
mayton2019, Об этом и речь, что это хранилище для файлов которые нужно сохранить если контейнер удалиться, если эти файлы добавлялись по мере работы приложения, если не использовать это хранилище - потеряются например записи из бд
Почему не причем, если докер создает контейнер, он работает в контексте тех файлов которые были на момент создания контейнера и запуска. Он не знает о добавление новых файлов т.к внутри контейнера состояние зафиксировано. По этой же причине и существуют volume, потому что файлы за приделами контейнера по сути не взаимодействуют по дефолту с контейнером, именно по этому без volume если удалить контейнер - изменения теряются
сергей кузьмин, попробую ради эксперимента в ноде поставить таймаут на подключение, что бы не сразу конектилось, если дело в этом переделаю на healthcheck, спасибо
Скрипт
Dockerfile node
Docker compose сейчас
Лог вывода кидал выше скрином