Я хочу смонтировать папку хост-системы в контейнер, и она должна быть определена в Dockerfile, чтобы пользователю не нужно было делать это вручную, передавая аргумент в командной строке для запуска контейнера.Как этого добиться?
Dockerfile предназначен для создания изображений, а не контейнеров.
Dockerfile
Вы не можете определить volume для image.volume должен быть определен во время выполнения при создании контейнера.
volume
image
docker run -v /host-folder:/root/containerfolder -i -t imagename
Это просто невозможно сделать.Образы докеров разработаны для переносимости.Крепления хоста зависят от хоста.Таким образом, если вы сможете указать монтирование хоста во время сборки, это сделает образ непереносимым на машине, у которой нет этой папки монтирования.Вот почему эта опция недоступна.
Вы можете использовать docker compose , чтобы помочь пользователю не выбирать папку для монтирования.Взгляните на Как мне смонтировать каталог хоста как том в docker compose