首页 > 其他分享 >.NETCore文件上传将文件保存到docker容器以外的文件夹

.NETCore文件上传将文件保存到docker容器以外的文件夹

时间:2024-03-06 15:23:29浏览次数:26  
标签:文件 NETCore 保存 文件夹 FileBucket docker find

最近在开发一个文件服务,用于公司内容各应用的文件保存和查询获取。

开发环境:windows10+.NET Core7.0+Mysql   发布环境 :Liunx+Docker

实现功能:文件服务提供接口上传文件和下载文件,服务用于内网访问。
实现中遇到的问题:由于文件保存是用的系统自带文件服务。而部署环境是Liunx+Docker,Docker是文件是隔离的,所以在使用docker部署的应用中,正常情况下只能访问docker内的文件,所以保存的文件夹也是在docker应用内,但是由于文件比较多,而docker部署的文件夹空间有限,所以需要将文件保存到docker外的文件夹内。

于是将保存路径改为绝对路径,但是发布运行发现找不到文件夹,但是文件是成功保存到服务器上了,通过find命令查找文件夹,命令如下:

find / -name "FileBucket" 

-name是指定按文件名查找,”FileBucket"是文件夹名称

找到如下内容:

find: ‘/proc/22841’: 没有那个文件或目录
find: ‘/proc/22849’: 没有那个文件或目录
find: ‘/proc/22856’: 没有那个文件或目录
find: ‘/proc/22858’: 没有那个文件或目录
/var/lib/docker/overlay2/8ee6db6db05756d9884c8fd80574cc48400243c64a5fa57dbdcd896251edcbc1/diff/FileBucket
/var/lib/docker/overlay2/8ee6db6db05756d9884c8fd80574cc48400243c64a5fa57dbdcd896251edcbc1/merged/FileBucket
/FileBucket

在/var/lib/docker/overlay2/8ee6db6db05756d9884c8fd80574cc48400243c64a5fa57dbdcd896251edcbc1/diff/FileBucket文件夹中找到了上传的文件,文件还在保存在docker环境下面了,没有达到我要保存到docker环境外的目的。

于是百度了一下,找到了一个方式,就是在发布docker的时候将要保存的文件夹外挂到docker上面,命令如下:     

docker run -d -p 8030:80 --name aveplugins_1 --restart=always -e TZ=Asia/Shanghai -d -v /home/AvePlugins1/back:/app -v /FileStorage:/app/FileStorage aveplugins:1.0  

其中-v 是指定外挂的文件夹,-v 后面是要外挂的文件夹  :后面的docker内使用的文件夹 -name 是指定docker容器名称

发布后,将文件保存的位置配置为/FileStorage/即可。

标签:文件,NETCore,保存,文件夹,FileBucket,docker,find
From: https://www.cnblogs.com/ithome8/p/18056693

相关文章

  • Dockerfile 部署uwsgi+nginx+django
    背景最近在和组内小伙伴一起写接口测试平台后端,使用的是drf框架,目前已经完成部分工作。在和前端联调试另一个小伙伴使用uwsgi部署起来了,我感觉这样部署很low,因为之前有了解过docker所以想着这一次彻底把docker给学会吧,于是就有了这篇文章。首先先看一下我的目录结构i......
  • docker-部署mysql8,并映射数据目录和日志目录
    下载镜像dockerpullmysql:8.0.21在主机上准备目录mkdir-p/mysql8/data/mysql8/log  /mysql8/cnf编写配置文件[root@localhostcnf]#catmy.cnf[mysqld]datadir=/mysql/datalog-error=/mysql/log/mysql-log.logpid-file=/mysql/mysqld/mysqld.pids......
  • 如何使文件直接在浏览器中预览或下载
     如何使文件直接在浏览器中预览,而不是下载?首先请正确配置Content-Type头部,并且文件的Content-Disposition头部的参数值设置为inline(表示浏览器应该尝试打开内容),当浏览器支持打开当前文件的格式时,浏览器会直接打开该文件,而不是直接下载。如何使文件直接在浏览器中下载,......
  • ios pod导入 提示头文件找不到,M1、2芯片问题
    项目pod导入Masonry成功,但是头文件无法引入,提示找不到或者有一下报错解决方案1、将设置中的UserScriptSandboxing修改为No2、找不到头文件修改HeaderSearchPaths配置"${PODS_CONFIGURATION_BUILD_DIR}/Masonry""${PODS_CONFIGURATION_BUILD_DIR}/Masonry/Masonry.fr......
  • 使用python编程实现多个csv文件数据的合并和输出
    具体代码importpandasaspdimportosdf01=pd.read_csv("D:\\12140\\Desktops\\111\\t11.csv",encoding='utf-8',dtype='str')df02=pd.read_csv("D:\\12140\\Desktops\\111\\t12.csv",encoding='utf-......
  • /usr/bin/install: 无法更改“/usr/local/python397/bin“ 的权限: 没有那个文件或目
    /usr/bin/install:无法更改“/usr/local/python397/bin“的权限:没有那个文件或目录dragoo1于2021-09-2116:39:21发布阅读量3.7k收藏9点赞数4分类专栏:python文章标签:pythoninstall没有那个文件或目录版权python专栏收录该内容3篇文章0订阅订阅专栏编译python......
  • 离线部署docker-ce
    下载包删除或者备份原来的所有的yum源文件。然后添加阿里的yum源:wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo或者curl-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo更新:清除缓存......
  • 从 HPC 到 AI:探索文件系统的发展及性能评估
    随着AI技术的迅速发展,模型规模和复杂度以及待处理数据量都在急剧上升,这些趋势使得高性能计算(HPC)变得越来越必要。HPC通过集成强大的计算资源,比如GPU和CPU集群,提供了处理和分析大规模数据所需的算力。然而,这也带来了新的挑战,尤其是在存储系统方面,包括如何有效处理大量数据......
  • linux shell 脚本中 避免文件已存在多次追加的情况
     001、为了避免脚本多次执行,生成结果多次追加,可以在追加语句的前面增加清空语句避免多次追加[root@pc1test1]#lsa.sh[root@pc1test1]#cata.sh##测试脚本#!/bin/bash>result.txt##或者使用rm-fresult.txt##在追加语句的前边增加清空语句se......
  • [转帖]linux-windows文件实时同步:Rsync使用教程
    http://luomuren.top/articles/2021/04/06/1617641017252.html#:~:text=linux-windows%E6%96%87%E4%BB%B6%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5%EF%BC%9ARsync%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B%201%20%E4%B8%80%20%E3%80%81%E4%BB%80%E4%B9%88%E6%98%AFrync%20%EF%BC%9F......