У меня есть небольшое приложение на Python, которое я бы хотел запустить на Linux в Docker (теперь с помощью boot2docker). Это приложение считывает некоторые данные из моего общего сетевого ресурса Windows, который отлично работает в Windows с использованием сетевого пути, но не работает в Linux. Проведя некоторое исследование, я выяснил, как установить общий ресурс Windows на Ubuntu. Я пытаюсь реализовать файл докеров, чтобы он установил для меня эту долю, но пока не увенчался успехом. Ниже мой текущий подход, который встречает операцию, не разрешенную командой mount во время процесса сборки.Docker - Mount Windows Network Share Inside Container
#Sample Python functionality
import os
folders = os.listdir(r"\\myshare\folder name")
#Dockerfile
RUN apt-get install cifs-utils -y
RUN mkdir -p "//myshare/folder name"
RUN mount -t cifs "//myshare/folder name" "//myshare/folder name" -o username=MyUserName,password=MyPassword
#Error at mount during docker build
#"mount: error(1): Operation not permitted"
#Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Редактировать Не дубликатом Mount SMB/CIFS share within a Docker container. Решение этого вопроса ссылается на исправление в течение docker run
. Я не могу запустить --privileged
, если процесс сборки docker завершился неудачно.
Q: Что такое правильный способ смонтировать сетевую папку Windows, внутри контейнера Докер?
Я попытался запустить базовое изображение Ubuntu, где я смонтировал том следующим образом: 'docker run -v" // myshare/имя папки ":" // myshare/имя папки "'. Однако, когда я вхожу в контейнер в интерактивном режиме, папка есть, но ни один из файлов и папок не указан. Я подозреваю, что это связано с тем, что сетевой ресурс контролируется доступом. Моя учетная запись пользователя выше имеет доступ к этой папке и может перемещаться по папкам, когда я монтирую ее на обычной виртуальной машине Ubuntu. Есть ли в любом случае для меня использование Docker Volume с контролируемой доступом? – user4794170