docker-compose разделить объем другой машины - PullRequest
0 голосов
/ 07 декабря 2018

Я использую docker, созданный в Windows 10 (Docker для linux).

Кроме того, я использую docker-compose (Версия 3.4) для сопоставления томов, находящихся вне докера, с контейнером docker.

У меня есть общая папка на другом компьютере, которую я хочу использовать в докере.

Я проверяю доступ к этой папке и могу получить к ней доступ с компьютера, на котором работает докер.

// ip_addr / shared_folder

В docker-compose я написал:

volumes:
  - //1.2.3.4/my_folder:my_docker_folder

Я нашел некоторый синтаксис с объявлением сети.Я не знаю, как именно мне написать?

volumes:
  - /my_folder:my_docker_folder
networks:
  frontend:
    ipv4_address: 1.2.3.4

и что ip 1.2.3.4 является ip для my_folder?

... но этот синтаксис может быть неправильным, илиЯ должен запустить несколько команд для правильного общего доступа к папке.

Что нужно сделать, чтобы сопоставить общую папку другого компьютера с докером.

Я пробовал несколько вещей, также сопоставлениесимволическая ссылка.

Я пытаюсь создать символическую ссылку в windows 10 и прикрепить ее к докеру, но это не сильно помогло мне, поскольку я столкнулся с исключением.

В командной строке Windows я сделал:

mklink /D c:\test_ext \\ip\shared_folder

При запуске докера (у меня есть версия Docker Community Edition 18.06.1-ce-win73 (19507) - контейнер linux).

ВВ командной строке я попытался запустить alpine (это также происходит на других докерах, основанных на образах linux):

docker run -i -t -vc: \ test_ext: / data: rw alpine / bin / sh Iполучить ошибку:

docker: Ошибка ответа от демона: ошибка при создании mount исходный путь '/ host_mnt / c / test_ext': mkdir / host_mnt / c / test_ext: файл существует.

Это происходит только для внешнего IP.

То, что я вижу, эточто папка + подпапки + файлы доступны с полными правами доступа.

Я попытался обойти некоторые проблемы, такие как: удаление томов docker, но это не сильно помогло.

Почему это так?сообщение об ошибке, и как я могу решить эту проблему?

Я также нашел альтернативу, которая может помочь:

docker volume create \
  --driver local \
  --opt type=nfs \
  --opt o=addr=ip_address,rw \
  --opt device=:/myfolder 
   my_volume

Это также не решает проблему (синтаксис неправильный).

Спасибо.

1 Ответ

0 голосов
/ 17 декабря 2018

Я думаю, что вы должны дать.около объема volumes: - ./my_folder:my_docker_folder

...