Docker 输入/输出错误

Docker 输入/输出错误,docker,phpstorm,virtualbox,docker-volume,Docker,Phpstorm,Virtualbox,Docker Volume,我使用Docker创建文件并在虚拟机中显示其内容: touch file.txt docker run \ --rm -it \ --volume $(pwd):/app \ --workdir /app \ alpine:3.6 \ sh -c '\ while : ; do \ cat file.txt ;\ sleep 1 ;\ done \ ' 然后我在本地更

我使用Docker创建文件并在虚拟机中显示其内容:

touch file.txt
docker run \
    --rm -it \
    --volume $(pwd):/app \
    --workdir /app \
    alpine:3.6 \
    sh -c '\
        while : ; do \
            cat file.txt ;\
            sleep 1 ;\
        done \
    '
然后我在本地更改文件:

date > file.txt
一切都好

但当我在PhpStorm中更改文件时,会收到一条错误消息,持续约20秒:

cat: can't open 'file.txt': I/O error
这种行为的可能原因是什么?如何诊断

(Docker 17.10,VirtualBox 5.1.30,PhpStorm 2017.2.4)

尝试禁用PhpStorm设置中的“安全写入”选项:
设置/首选项|外观和行为|系统设置-->使用“安全写入”…

启用该选项后,IDE将首先写入临时文件(例如,
file.\uu temp\u jb\uuu
),然后将其重命名为实际目标(
file.txt


看起来这样的操作(原始文件被删除并替换为另一个)与您的脚本发生了冲突。

我不确定这里到底发生了什么(不是Docker或Linux人员)。。但请尝试在PhpStorm设置中禁用“安全写入”选项。启用该选项后,IDE首先写入临时文件(例如
file.\uu temp\u jb.\uuu
),然后重命名为目标(
file.txt
)。也许这与你的剧本有冲突……哦,谢谢你,成功了。:)