Ошибка ввода / вывода
Я создаю файл и показываю его содержимое внутри виртуальной машины с помощью 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)
1 ответ
Попробуйте отключить опцию "безопасная запись" в настройках PhpStorm: Settings/Preferences | Appearance & Behavior | System Settings --> Use "safe write"...
С этой опцией IDE сначала записывает во временный файл (например, file.__temp_jb__
) и только потом переименовывает его в реальную цель (file.txt
).
Похоже, что такие манипуляции (исходный файл удаляется и заменяется другим) каким-то образом конфликтует с вашим сценарием.