問題
docker run
を実行しましたが、何も起こっていないようで、Docker ログに次のようなエラーが表示されます。
bash
$[Error] KTranslate Discovery SNMP Error: There was an error when writing the /snmp-base.yaml SNMP configuration file: chtimes /snmp-base.yaml: operation not permitted.
これは、 snmp-base.yaml
ファイルに docker ユーザーがファイルを編集できない所有権がある場合に発生します。ほとんどの場合、 root
ユーザーまたは同様の特権アカウントとしてファイルを作成したことが原因です。Docker コンテナーは、このファイルを変更できない非特権ユーザーで実行されます。コンテナー内で、 ktranslate
は常にユーザー ID 1000 とグループ ID 1000 を使用しようとしているため、所有権はこれらの ID がファイルを所有できるようにする必要があります。
解決
特権アカウントから、docker コンテナーに渡す前にファイルの所有権を変更します。たとえば、次を実行します。
bash
$chown 1000:1000 snmp-base.yaml