簡體   English   中英

.Net Core API在docker下運行

[英].Net Core API running under docker

我有一個項目(.Net Core API),該項目在Docker下為Windows運行,並提供客戶可以上傳文件的服務。

我想將這些文件保存在服務器上(例如“ C:\\ TempFolder”),但是當我在調試模式下(使用docker)運行項目並通過代碼動態創建目錄時,出現錯誤:'System.IO.IOException:無效說法......”

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

在此處輸入圖片說明

當我在沒有docker的情況下運行應用程序時,它運行正常

聽起來可能很糟糕,但是我不得不問:

在docker下運行時,是否可以創建目錄(例如,在我有權限的地方,例如在本地PC或服務器上)?

這是我使用docker的第一個項目,所以...

您可以在啟動Docker容器時將Docker卷用作參數,或者在使用docker-compose定義卷。

docker volume create my-vol

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

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

    volumes: 
        - my-volume:/app

或映射到相對於docker-compose.yml的目錄:

    volumes: 
        - ./temp-dir:/app

請記住,容器內的代碼不會知道某些文件夾已映射到容器外部的存儲。

從主機角度看,映射到docker卷和映射到相對路徑之間的主要區別在於Docker將決定該卷在主機中的存儲位置以及誰可以訪問它,而相對路徑是您控制的目錄。

使用相對路徑時要注意的另一點是,請確保您在目錄上設置了權限,以便docker進程可以使用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM