Askiz
V2EX  ›  Docker

请教 docker 挂载目录文件不同步的问题

  •  
  •   Askiz · Jul 9, 2022 · 1971 views
    This topic created in 1429 days ago, the information mentioned may be changed or developed.
    我用的 docker 平台是 MacOS 版本的 docker desktop ,
    有个需求是将宿主机的程序日志通过 docker -v 挂载到 docker 内部实现 docker 内部与宿主机文件同步,比如下面这个简单的程序

    发现运行这个程序后,宿主机查看 test.log 有发生变化,但是 docker 内部的映射文件夹的文件并没有同步,但是在 ctrl+C 退出程序后,文件就马上同步到 docker 内部了。查阅了相关资料说可能是文件 inode 的问题,但是运行前后 inode 并没有发生变化,chmod 777 test.log 也未能解决该问题。
    所以请问这是什么问题,该怎么解决程序运行时 docker 挂载目录文件不同步的问题呢?
    3 replies    2022-09-16 23:32:59 +08:00
    Askiz
        1
    Askiz  
    OP
       Jul 9, 2022
    试了一下改用 fmt.Fprintln 写入文件的方法,用了 defer logFile.Close(),可以在程序运行时同步,看来应该是因为文件指针未关闭的原因
    wd
        2
    wd  
       Jul 9, 2022 via iPhone
    你搜下 写文件 flush cache 的东西
    fuxkcsdn
        3
    fuxkcsdn  
       Sep 16, 2022
    今天也遇到这个问题,印象中之前不会啊...而且在 windows 上一直是正常的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   925 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 19:33 · PVG 03:33 · LAX 12:33 · JFK 15:33
    ♥ Do have faith in what you're doing.