首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在docker下运行的.Net核心应用编程接口

在docker下运行的.Net核心应用编程接口
EN

Stack Overflow用户
提问于 2018-01-24 19:08:09
回答 1查看 2.4K关注 0票数 0

我有一个项目(.Net核心应用程序接口),运行在Docker for windows下,并有客户可以上传文件的服务。

我希望将这些文件保存在服务器上(例如"C:\TempFolder"),但是当我在调试模式(使用docker)下运行项目并从代码动态创建目录时,出现错误:“System.IO.IOException: Invalid argument...”

CurrentDirectory是/app,而在DirectoryInfo FullPaths中,值是"/app/C:\TempFolder“

当我在没有docker的情况下运行应用程序时,它工作正常

这听起来可能很糟糕,但我不得不问:

是否可以在docker下运行时创建目录(在我有权限的地方,例如在我的本地PC或服务器上)?

这是我使用docker的第一个项目,所以...

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-24 19:22:09

您可以在启动docker container时使用docker volumes作为参数,如果您正在使用它,则可以使用volumes defined in docker-compose

代码语言:javascript
运行
复制
docker volume create my-vol

docker run -d --name devtest --mount source=my-vol,target=/app

或使用docker -compose.yml映射docker卷:

代码语言:javascript
运行
复制
    volumes: 
        - my-volume:/app

或者映射到相对于docker-compose.yml的目录:

代码语言:javascript
运行
复制
    volumes: 
        - ./temp-dir:/app

请记住,容器内代码不会知道某个文件夹映射到容器外部的存储。

从主机的角度来看,映射到docker卷和映射到相对路径之间的主要区别在于,Docker将决定卷在主机中的存储位置以及谁可以访问它,而相对路径是您控制的目录。

使用相对路径时需要注意的另一点是,确保您在目录上设置了权限,以便docker进程可以使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48420989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档