python - 如何在 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: 驱动器上尝试一个位置,它可以正常工作,只是共享驱动器给我带来了问题。
安装卷的正确方法是什么,以便我可以保存到该文件夹?谢谢
解决方案
您的容器化应用程序应该调用 /data 文件夹。
推荐阅读
- c# - C# 找不到带有 GraphQL 的包
- javascript - Chart.js:如何设置图表的最小高度但仍保持纵横比?
- c++ - use of flow operators on objects
- javascript - 我需要帮助更新此数组状态以显示为表数据
- type-conversion - 如何在 AutoHotkey 中将变量转换为布尔值?
- postgresql - 空闲事务 mybatis jboss 6.4 postgres 9.6
- python - 使用 Python sqlparse 获取查询树/层次结构
- excel - Excel 连接到 SQL Server:连接到不同 SQL 驱动程序的区别
- java - Java Web 应用程序延迟使用 zimbra 发送外部电子邮件
- unity3d - 重置飞行模式?