首页 > 解决方案 > 如何在 Docker for windows 中挂载卷?

问题描述

我正在尝试将数据从我的 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 <tag>

为了保存 docker 应用程序的输出,我试图这样做

pd.DataFrame(rows).to_excel('S:/Folder1/Folder2/Folder3/file.xlsx', index=False) 

我必须在 Docker Settings>Resources>File Sharing 中挂载该卷,我添加了目录“S:/Folder1/Folder2/Folder3/”,以便可以将其挂载到 Docker 容器中。

然后我尝试运行图像:

docker run -p 8050:8050 -v "s:/folder1/folder2/folder3/":"/data" <tag>

这会弹出一个窗口“Docker想要访问C\dc\Shared\folder1\folder2\folder3”我可以选择共享或取消,选择共享后,文件夹3创建在正确的位置,但我得到错误:

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.

如果我在我的 C: 驱动器上尝试一个位置,它可以正常工作,只是共享驱动器给我带来了问题。

安装卷的正确方法是什么,以便我可以保存到该文件夹​​?谢谢

标签: pythonwindowsdocker

解决方案


您的容器化应用程序应该调用 /data 文件夹。


推荐阅读