Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Docker内部的FileSystemWatcher没有注意到对本地目录的更改

Docker内部的FileSystemWatcher没有注意到对本地目录的更改
EN

Stack Overflow用户
提问于 2017-11-13 14:05:44
回答 1查看 1.6K关注 0票数 4

我在码头容器中的程序使用FileSystemWatcher来监视本地文件夹。我挂载目录时:

docker run /c/Users/Support/Desktop/inbox:/Users/Support/Desktop/inbox -v /c/Users/Support/Desktop/outbox:/Users/Support/Desktop/outbox -it -名称为workbeanRun workbean

在容器运行时,我使用Docker查看它。它可以看到收件箱和发件箱目录以及它中的任何文件。但是,当我向收件箱中抛出一个新文件时,FileSystemWatcher事件不会触发。代码没有什么问题,因为如果我不使用码头容器,它就能正常运行。

在安装方向盘时,我还需要做些什么?或者FileSystemWatcher甚至可以在容器内使用?

好吧,按照要求,这是一个程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System;
using System.IO;

namespace workbean
{
    class Program
    {
        FileSystemWatcher watcher = new FileSystemWatcher();
        static string sourceDir = "/Users/Support/Desktop/inbox";
        static string destDir = "/Users/Support/Desktop/outbox";


        static void Main(string[] args)
        {
            Console.WriteLine("Testing...");

            Program p = new Program();

            while (true) { }
        }


        public Program()
        {
            watcher.Path = sourceDir;
            watcher.Filter = "*.*";
            watcher.Created += new FileSystemEventHandler(OnCreated);
            watcher.EnableRaisingEvents = true;

        }


        static void OnCreated(object source, FileSystemEventArgs e)
        {

            string[] files = Directory.GetFiles(sourceDir);
            foreach (var item in files)
            {
                string destDir2 = destDir + "/" + Path.GetFileName(item);
                File.Move(item, destDir2);
            }

        }


    }
}
EN

回答 1

Stack Overflow用户

发布于 2017-11-15 07:41:00

看来这就是正在发生的事情:

本地驱动器上的收件箱文件夹绑定到容器中的收件箱文件夹。如果将文件添加到一个文件中,它们就会出现在另一个文件中。

但是,FileSystemWatcher只监视容器中的收件箱。如果我将一个文件添加到容器中的收件箱中,那么FileSystemWatcher会触发一个事件。

但是当将文件添加到本地收件箱时,什么都不会发生,因为FileSystemWatcher没有监视这一个文件夹,即使这两个文件夹是相互绑定的。

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

https://stackoverflow.com/questions/47274362

复制
相关文章
Docker -v 对挂载的目录没有权限 Permission denied
可以通过docker inspect命令,查看容器“Mounts”那一部分,我们可以得到这个问题的答案。
hbbliyong
2019/05/25
16.2K0
FileSystemWatcher 监视指定目录中的变更
.Net框架类库中的FileSystemWatcher如它的名称一样是一个用于监视文件系统变化的一个控件。使用 FileSystemWatcher 监视指定目录中的更改。可监视指定目录中的文件或子目录的更改。可以创建一个组件来监视本地计算机、网络驱动器或远程计算机上的文件。
张果
2022/05/09
6580
FileSystemWatcher 监视指定目录中的变更
C#-使用FileSystemWatcher类观察文件的更改
FileSystemWatcher类的主要功能: 监控指定文件或目录的文件的创建、删除、改动、重命名等活动。可以动态地定义需要监控的文件类型及文件属性改动的类型。 具体可以参考微软官方文档FileSystemWatcher Namespace: System.IO Assembly: System.dll Listens to the file system change notifications and raises events when a directory, or file in a directory, changes.
ccf19881030
2020/06/04
2.1K0
Docker永久挂载本地目录
有时我们的docker需要用到本地的数据集,虽然我们可以用docker cp的方式进行拷贝,但是通常如果数据集很大,所以直接拷贝到容器里显然不现实,所以我们需要把数据集的路径挂载到容器。但是普通的docker mount命令又有一个缺点,就是每次开启这个容器都得输这个命令,所以要想长期挂载这个目录下面的方法:
marsggbo
2020/06/12
4.7K0
windows 10更改WSL Docker镜像目录
现在Docker Desktop默认使用WSL 2来运行,而不是以前的Hyper-V。
张善友
2021/01/20
6K0
更改MySQL的存储目录
1、创建目标文件夹 # mkdir -p /data/mysql # chown -R mysql.mysql /data/mysql/ 2、迁移命令 # mysql_install_db --user=mysql --basedir=/usr --datadir=/data/mysql 3、为避免麻烦,删掉原文件夹/var/lib/mysql # rm ­-rf /var/lib/mysql 4、修改/etc/my.cnf配置文件 [mysqld] datadir=/data/mysql/ 5、启动mys
試毅-思伟
2018/09/06
4.1K0
FileSystemWatcher类监控文件的更改状态并且实时备份文件
首先这是我自己在一个任务需求里面所要用到的,大致的代码如下:我把监视文件和备份文件的方法封装到一个WatcherAndBackup
ryzenWzd
2022/05/07
8830
Docker mysql 把数据存储在本地目录
Docker mysql 把数据存储在本地目录,很简单,只需要映射本地目录到容器即可
双面人
2019/04/10
5.9K0
.git 目录的内部结构
本篇不是讲git的使用,也不是讲git的源码,但阅读本篇有助于理解git的底层逻辑设计。本篇讲的是一个文件夹,具体就是git分布式仓库中的本地仓库的隐藏文件夹.git。
后端云
2023/02/10
7390
.git 目录的内部结构
更改Tomcat日志目录
修改CATALINA_OUT的值,与logging.properties修改一样的路径,便于日志集中管理。
程裕强
2019/05/27
1.3K0
更改linux文件/目录的权限与分组
Linux 的文件权限可以分成三段,第一列就是文件权限信息。每个文件(任意类型的文件或者文件夹)的属性都用10个字符表示。
生信编程日常
2020/04/01
6.9K0
更改linux文件/目录的权限与分组
Docker 更改仓库
为什么进行更改仓库是由于TLS handshake timeout异常 无法连接docker境外仓库
用户5760343
2022/05/23
1.9K0
Docker 更改仓库
Python 对目录的操作
一、递归遍历目录 <span class="hljs-comment"># 返回所有文件的绝对路径</span> <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">traverseDir</span><span class="hljs-params">(dirPath)</span>:</span> absPathList = [] <span class="
星哥玩云
2022/09/08
2610
Docker之修改docker默认的目录
 默认情况下Docker会使用/var/lib/docker,此目录会放镜像好容器及卷的信息,有时候,我们想换到其它目录,而不是此目录下,那么怎么处理呢?
克虏伯
2019/08/22
3K1
FileSystemWatcher 类
System.IO.FileSystem.Watcher.dll, System.dll, netstandard.dll
全栈程序员站长
2022/09/13
8630
React内部的性能优化没有达到极致?
对于「步骤1」,如果状态更新前后没有变化,则可以略过剩下的步骤。这个优化策略被称为eagerState。
公众号@魔术师卡颂
2022/03/14
6240
Python中的chdir函数:更改工作目录利器
在Python中,`chdir`是一个内置函数,用于更改当前工作目录。今天就给大家简单介绍一下该函数的用法和一些注意事项,一起来学习一下吧。
华科云商小彭
2023/10/07
2630
Python中的chdir函数:更改工作目录利器
简述linux系统的目录层次结构_docker 目录
Linux 的文件系统是采用层级形式的树状目录结构,最上层为根目录“/”,然后在根目录下创建其他目录。在 Linux 操作系统当中,是没有像我们在 Windows 系统中一样的界面的,我们能看到的就是各级文件,也就是目录结构。Linux 操作系统中,一切皆文件,Linux 会将所有硬件设备也映射为文件来管理。
全栈程序员站长
2022/11/09
1.9K0
简述linux系统的目录层次结构_docker 目录
Ubutu 更改 子文件或子目录的权限
Ubuntu中有两个修改命令可以用到,「change mode」&「change owner」
qubianzhong
2019/07/01
2.2K0
Docker迁移默认的/var/lib/docker目录
在ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock后添加--graph=/data/docker/lib/docker
4xx.me
2022/06/10
8.5K4
Docker迁移默认的/var/lib/docker目录

相似问题

FileSystemWatcher不识别目录中的更改

31

Eclipse没有注意到对eclipse.ini的更改?

11

FileSystemWatcher对电子邮件的更改。Powershell

21

AJAX没有注意到文件内部的变化

13

TYPO3没有注意到通过composer安装的本地扩展的更改。

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文