Не могу подключить папку хост-машины к докер контейнеру

Есть такая ситуация: Нужно разработать контейнер внутри которого будет следующий процесс - скачивание видео и сохранение его на хост машине. На данный момент прогресс таков, что скачивание работает, но сохраняется видео внутри контейнера. Я перечитал кучу мануалов по диррективе VOLUME но увы безуспешно (внутри контейнера нет этой дирректории/тома).

мой докер файл:

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
RUN apt update && \
    apt -y upgrade && \
    apt-get --assume-yes install python3 && \
    whereis python3 && \
    ln -s /usr/bin/python3 /usr/bin/python && \
    curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl && \
    chmod a+rx /usr/local/bin/youtube-dl
WORKDIR /app
EXPOSE 80
EXPOSE 443
VOLUME /video_data

FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["YDL.Server/YDL.Server.csproj", "YDL.Server/"]
RUN dotnet restore "YDL.Server/YDL.Server.csproj"
COPY . .
WORKDIR "/src/YDL.Server"
RUN dotnet build "YDL.Server.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "YDL.Server.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "YDL.Server.dll"]

Для разработки использую VS2019 DockerDesctop OS Windows10

В контейниризации я новичок - буду рад непосильной помощи..


Ответы (1 шт):

Автор решения: Sergei Kirjanov

VOLUME в Dockerfile работает на этапе сборки образа, и взаимоотношения с конкретным запускающим хостом не описывает.

Используйте docker run с опцией -v ... или docker-compose up -d:

docker-compose.yml

services:
  main:
    image: my-image
    volumes:
    - c:/my_video_data:/video_data
version: '2'

При этом может потребоваться настроить правильный доступ DockerDesktop на диск (c:).

Но если данные дальше будут обрабатываться другим контейнером, может иметь смысл использовать именованые вольюмы (не разделяемые с Windows) - video_data:/video_data, т. к. фс в Windows может работать заметно медленней.

→ Ссылка