
시작할 때 일부 데이터를 데이터베이스에 로드하는 컨테이너가 있는데 모두 훌륭하게 작동합니다.
이제 이 프로세스가 끝나면 소스 데이터 파일이 있는 디렉터리를 삭제하고 싶습니다 rm -rf /mysrc
.
프로세스의 일부로(Dockerfile 내부) 모든 것을 로드하는 데 사용하는 src 디렉터리에 대해 mysql:mysql 권한을 부여했습니다. 그렇지 않으면 데이터를 로드하는 데 문제가 있기 때문입니다(로딩을 수행하는 타사 스크립트를 통해). ) 그리고 폭발합니다.
src 디렉토리를 지우고 호출해야 할 때가 오면 rm -rf /mysrc
'Permission Denied' 오류가 발생하지만 /mysrc의 내용은 디렉토리가 남아 있는 동안 삭제됩니다.
시도하면 chown root:root /mysrc
'작업이 허용되지 않음' 오류가 발생하고 디렉터리는 물론 그대로 유지됩니다.
디렉토리는 그대로 남아 있지만 파일이 제거된다는 사실을 보면 폴더를 삭제하려면 mysqld에 해당 폴더에 대한 핸들이 있어야 한다는 생각이 듭니다.
bash 또는 스크립트를 통해 컨테이너에서 mysql 서비스를 중지하고 폴더의 모든 핸들을 해제하려고 하면 컨테이너가 중지됩니다.
이 디렉터리(및 내용)를 어떻게 제거할 수 있나요? 컨테이너를 종료하지 않고 컨테이너 내부에서 mysql 서비스를 다시 시작하려면 어떻게 해야 합니까?