안녕하세요.
“tmp” 디렉토리의 위치를 변경할 수 있으며, 어떻게 해야 하는지 알려 주실 수 있을까요?
예를 들어, 현재 제 tmp 디렉토리는 /var/discourse/tmp에 있고, 임시 파일이 /tmp/discourse-tmp에 생성되도록 변경하고 싶습니다.
어떤 문제를 해결하려고 하시나요?
해결책 중 하나는 호스트 파일 시스템의 원하는 위치에 가리키도록 /tmp를 위한 도커 볼륨을 만드는 것입니다.
문제는 호스트에서 Docker로 discourse를 마운트했기 때문에 발생합니다. /var/discourse 폴더는 호스트(Windows)와 클라이언트 OS(Linux) 사이에 공유되는 디렉터리입니다. 이로 인해 몇 가지 문제가 발생하고 있습니다.
오늘 설명한 문제 중 하나는 이 링크에 있습니다: Problem with development on Windows with Docker and mounted volume
discourse가 “tmp” 디렉터리에서 일부 파일을 생성하려고 할 때 오류가 발생합니다. 파일 시스템이 대소문자를 구분하도록 기대하기 때문인데, 마운트된 디렉터리는 대소문자를 구분하지 않는 Windows NTFS 파일 시스템을 사용하기 때문입니다.
tmp 디렉터리의 위치를 /tmp로 변경할 수만 있다면, 게스트 OS의 파일 시스템이 대소문자를 구분하는 디렉터리를 지원하는 ext4이므로 문제가 해결될 것입니다.
솔직히 그냥 Discourse 전체를 정상적인 파일 시스템으로 옮기면 됩니다. (사실 저는 Win98 시절부터 Windows를 거의 안 씁니다.) 그게 안 되면 /tmp 전용으로 볼륨을 추가하는 것도 방법입니다.