こんにちは。
「tmp」ディレクトリの場所を変更することは可能でしょうか?また、その方法は?
例えば、現在私の tmp ディレクトリは /var/discourse/tmp にありますが、一時ファイルは /tmp/discourse-tmp に作成したいと考えています。
どのような問題を解決しようとしていますか?
/tmp 用の Docker ボリュームを作成し、ホストファイルシステムの任意の場所を指すように設定するという解決策があります。
「いいね!」 2
問題は、ホストから Docker へ Discourse をマウントしていることにあります。そのため、ホスト(Windows 上)とクライアント OS(Linux 上)の間で共有ディレクトリ /var/discourse が共有されています。その結果、いくつかの問題が発生しています。
私が今日説明した問題の一つはこれです:Problem with development on Windows with Docker and mounted volume
Discourse が「tmp」ディレクトリ内でファイルを生成しようとする際にエラーが発生します。これは、ファイルシステムが大文字小文字を区別することを期待しているのに対し、マウントされたディレクトリは大文字小文字を区別しない Windows の NTFS ファイルシステムを使用しているためです。
もし tmp ディレクトリの場所を /tmp 内に変更できれば、この問題は解消されます。なぜなら、ゲスト OS のファイルシステムである ext4 は大文字小文字を区別するディレクトリをサポートしているからです。
Discourse全体を、もっとまともなファイルシステムに移すのがいいでしょう(実際、私はWindows 98の頃に使わなくなりました)。それが難しい場合は、/tmp専用のボリュームを追加することもできます。