私はドッカーイメージでmqttブローカーMosqittoを実行しています。 私は問題は、ホストユーザーID(1001)とということである。これは、画像フォルダ/ mosquittoにホストフォルダ/ホーム/ mosquitto /アプリケーションは/ dev/mosquittoをマウントする必要があります 次の引数ドッカーがマウントしたホストディレクトリファイルのアクセス許可
sudo docker run -d -p 1883:1883 -p 1884:1884 -v /home/mosquitto/apps/dev/mosquitto:/mosquitto --restart always -u mosquitto eclipse-mosquitto:1.4.
を使用していますドッカーのユーザーID(100)が一致しません。
私は-u mosquittoを指定しない場合、アプリケーションは、だから私は、私がアプリケーションを作るために、-u mosquittoを指定しようと思いました
を/mosquitto/logs/mosquitto.logに書き込むことができない文句イメージ内ではユーザー1001として実行されるため、マウントされたファイルへの書き込みアクセス権があります。 それは働いた。 しかし、Mosquittoアプリケーションは終了時に新しいデータベースファイルを作成しました。そのファイルは所有者として101ユーザで作成されました。
ドッキングする人に-Uを指定するとどうなりますか? 私は期待していたこと(ホストファイルへの書き込みが許可されています)と種類が私が期待していたことをやっていませんでした(元のイメージのユーザーIDを持つファイルです)。この特定のドッカーのイメージ..それは内部的にユーザーを切り替えるいくつかのスクリプトを実行する?
ありがとうございました。ログファイルは大丈夫です。 データベースについては、ここで説明する別のドッカーボリュームを作成すると思います。 https://docs.docker.com/engine/tutorials/dockervolumes/ – Ivan
はい、それは別のボリュームを持つのが良いでしょう、それもベースマシンからより管理しやすくなります。 – Vineeth