从运行C#Windows应用程序的Docker容器访问主机文件夹路径
我有多个容器,它们在centOS中运行windows控制台应用程序,创建报告文件,我可以通过docker-compose.yml中指定的卷访问主机服务器中的输出文件从运行C#Windows应用程序的Docker容器访问主机文件夹路径,c#,docker,centos,C#,Docker,Centos,我有多个容器,它们在centOS中运行windows控制台应用程序,创建报告文件,我可以通过docker-compose.yml中指定的卷访问主机服务器中的输出文件 report_output: image: report:latest ports: ["80:80"] container_name: profit_report restart: always volumes: - /home/profit_report/:/
report_output:
image: report:latest
ports: ["80:80"]
container_name: profit_report
restart: always
volumes:
- /home/profit_report/:/app/report_output
我正在编写另一个C#console应用程序delete#u report
,它删除了超过2年的报告。如果我在新控制台中将C#代码添加到访问路径/home/profit_report/
,它是否能够从内部容器“delete_report”访问路径
或者如何从delete\u report
容器中访问/app/report\u output
的容器路径,以直接删除容器中的文件
从容器连接到主机服务器路径是一种有效的方法,还是连接到所需的容器和内部访问路径有效
所有容器都绑定在同一网络中。组合配置:
volumes:
- /home/profit_report/:/app/report_output
告诉我们,那个文件夹
/家庭/利润报告
将安装在容器中,这意味着其中的任何操作,
也适用于带有此支架的容器,因为它只是一个支架
因此,您可以创建另一个具有相同装载的容器,并根据需要操作文件
因此,您可以删除报表应用程序,并将其装入容器,如下所示:
volumes:
- /home/profit_report/:/app/report_to_delete (or any path that you want)
在这个容器中,您只需要从mount path(/app/report\u to\u delete)获取文件就可以了。+1用于建议。。。。这是否意味着我无法从“删除”报告容器内部访问报告输出容器文件夹/文件?在我对docket-compose.yml进行代码更改以在delete_report service config部分添加其他容器的卷之前,我只是想确认一下。是的,容器与主机和其他容器(包括FS)完全隔离。您始终需要提供文件夹\files\volumes\etc的装载来授予容器的访问权限。确定。。。干杯伙伴:)听起来你有一个基于文件的应用程序;您不希望容器的文件系统与主机系统或彼此的文件系统隔离。直接在主机上运行这些应用程序更有意义吗?