Папка Docker vs. Shared Windows - PullRequest
       55

Папка Docker vs. Shared Windows

0 голосов
/ 20 сентября 2018

Я пытаюсь получить доступ к удаленной общей папке из контейнера Docker в Docker для Windows.

Пока внутри контейнера работает dir \\target\share, выдается «Сетевой путь не найден».Цель может быть пропингована изнутри контейнера, и из хост-системы общий ресурс доступен.

Используется образ microsoft/dotnet-framework:4.7.2-sdk, и я запускаю его только с опцией -it для тестирования.

Чего мне не хватает, чтобы заставить это работать?

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

Протокол SMB работает с хостами в одной локальной сети.Контейнер Docker по умолчанию имеет виртуальный сетевой интерфейс за NAT, поэтому контейнер больше не находится в той же локальной сети.Вот почему вы можете пропинговать цель, но не можете получить доступ к общей папке.

Более простое решение - добавить параметр --network host в команду docker run.Таким образом, контейнер имеет доступ к тем же сетевым интерфейсам, что и хост, и виртуальный интерфейс не создается.

0 голосов
/ 24 сентября 2018

Вы можете использовать тома докера для монтирования папки / сетевого ресурса в контейнере

Создать том докера на хосте:

$ docker volume create --driver local \
    --opt type=nfs \
    --opt o=addr=192.168.1.1,rw \
    --opt device=:/path/to/dir \
    foo

Подключить том наконтейнер:

$ docker run -d \
  --name devtest \
  --mount source=foo,target=/app \
  nginx:latest

Дополнительные примеры здесь

...