Python 如何在Docker for windows中装入卷?

Python 如何在Docker for windows中装入卷?,python,windows,docker,Python,Windows,Docker,我正在尝试将数据从docker应用程序保存到主机文件夹。 我的dockerfile是: FROM python:3 # set a directory for the app WORKDIR /usr/src/app # copy all the files to the container COPY . . # install dependencies RUN pip install --no-cache-dir -r requirements.txt EXPOSE 8050

我正在尝试将数据从docker应用程序保存到主机文件夹。 我的dockerfile是:

FROM python:3
   
# set a directory for the app
WORKDIR /usr/src/app

# copy all the files to the container
COPY . .

# install dependencies
RUN pip install --no-cache-dir -r requirements.txt

EXPOSE 8050

CMD ["python", "./app.py"]
然后我构建图像:

docker build <path> -t <tag>
docker run -p 8050:8050 -v "s:/folder1/folder2/folder3/":"/data" <tag>
我必须装载卷,在Docker设置>资源>文件共享中,我添加了目录:/Folder1/Folder2/Folder3/,以便将其装载到Docker容器中

然后我试着运行图像:

docker build <path> -t <tag>
docker run -p 8050:8050 -v "s:/folder1/folder2/folder3/":"/data" <tag>
如果我在我的C:驱动器上尝试一个位置,这个工作没有问题,只是共享驱动器给了我问题


装载卷以便保存到该文件夹的正确方法是什么?谢谢您

您的集装箱化应用程序应该改为调用/data folder。

您是否从docker内部调用pd.DataFrame(rows.)\u excel?如果是这样,你就做错了。你必须调用/data/file.xls。我刚刚用我的windows进行了测试。docker设置中的共享目录:
C:\Development\temp
使用命令在其中构建映像。用docker run-it-p8050:8050-v“C:\Development\temp”:“/data”test bash启动它的shell,然后我能够将新文件
echo“Testing”>/data/Testing
写入挂载目录。你的Python代码也是如此。@GintsGints是的,我从docker内部调用它-我不确定你所说的调用/data/file.xls是什么意思,尽管你不能在docker容器中使用windows路径。请改用linux路径。谢谢!但我认为错误发生在保存之前,docker:error-response-from-daemon:error-response-when-creating-mount-source-path'/host\u mnt/uC/dc/Shared/folder1/folder2/folder3/':mkdir/host\u mnt/uC:不允许操作。请尝试重复我的测试。这意味着什么?您可以执行容器bash,并在容器内创建文件?您的意思是执行此操作吗?docker run-p8050:8050-v“s:/folder1/folder2/folder3/”:“/data”
docker: Error response from daemon: error while creating mount source path '/host_mnt/uC/dc/Shared/folder1/folder2/folder3/': mkdir /host_mnt/uC: operation not permitted.