我使用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)
答案 0 :(得分:1)
尝试在PhpStorm设置中禁用“安全写入”选项:Settings/Preferences | Appearance & Behavior | System Settings --> Use "safe write"...
启用该选项后,IDE会首先写入临时文件(例如file.__temp_jb__
),然后将其重命名为实际目标(file.txt
)。
看起来这样的操作(原始文件被删除并被另一个文件替换)与您的脚本发生冲突。