2017-10-31 11 views
0

내가 파일을 생성하고 도커를 사용하여 가상 머신의 내부에 그 내용을 보여 입력/출력 오류

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 

무엇이 문제의 가능한 이유이며 어떻게 그것을 진단 할 수 있습니다?

(도커 17.10, 버추얼 5.1.30, PhpStorm 2017년 2월 4일)

+1

정확하게 (도커 또는 Linux 사용자가 아닌) 여기에서 어떤 일이 일어나는지 잘 모르겠지만 PhpStorm 설정에서 "안전한 쓰기"옵션을 비활성화하십시오. 이 옵션을 사용하면 IDE는 먼저 임시 파일 (예 :'file .__ temp_jb__')에 기록한 다음 대상 ('file.txt')으로 이름을 바꿉니다. 어쩌면 그게 어떻게 든 당신의 스크립트와 충돌 할 것입니다 ... – LazyOne

+0

오, 고마워요, 효과가있었습니다. :) – zored

답변

1

"안전 쓰기"PhpStorm 설정에서 옵션을 사용 중지 해보세요 (첫 임시 파일에 IDE 활성화하는 옵션을 Settings/Preferences | Appearance & Behavior | System Settings --> Use "safe write"...

기록을 예 : file.__temp_jb__) 실제 대상 (file.txt)으로 이름을 바꿉니다.

원본 파일이 삭제되고 다른 것으로 대체 된 것처럼 보입니다. 원본 파일과 충돌합니다.