Я использую 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
Это также не решает проблему (синтаксис неправильный).
Спасибо.