2

ファイルシステムの一部が暗号化されている Docker コンテナーをセットアップする必要があります。その理由についてくどくど考えないようにしてください。答えは醜く、技術的というよりも政治的なものです。

問題が発生した場合、暗号化される特定の部分はホストからのボリューム マウントになりますが、最初はコンテナーの .xml でこれを試してい/tmpます。私たちの展開が機能する方法のため、コンテナの外でボリューム上で直接 ecryptfs を行うのは不便です。として実行されるシェルスクリプトの一部として内部でマウントを行いたいですCMD

コンテナーを実行すれば、これを行うことができます(この使い捨てのコメント--privilegedのおかげで) -しかし、それに付随するすべてのものを許可したくありません。試行錯誤の結果、追加によって最初の不可解なエラー ( ) が解決されることがわかりましたが、後でプロセスは次のように失敗します。--cap-add IPC_LOCKExiting. Unable to obtain passwd info

mount: block device /tmp/enc is write-protected, mounting read-only
mount: cannot mount block device /tmp/enc read-only
Error mounting eCryptfs: [-1] Operation not permitted
Check your system logs; visit <http://ecryptfs.org/support.html>

すべての機能を追加しても、ここでは役に立ちません。問題は別の場所にあります。

docker-run dockers は、パラメータに--privileged関連する障壁も取り除き、設定が必要なものの例としてfuseを示し、「前」の例でかなり似たようなエラーを示していると述べています。ecryptfs と fuse にはある程度の共通点があるように見えるので、これは良い手がかりのように感じます。--device--device

コマンドに追加しようとし--device /tmp/encましたが、docker run役に立ちませんでした(ホストはこのパスについて知りませんが、これは理にかなっています)。/dev/ecryptfsまた、 (それが何をするのかわかりませんが)があることに気づき、それを試しました。コンテナーは実行されましたが、ecryptfs マウントが機能しませんでした。

これができないかのように心配そうに見え始めています... 何かアイデアはありますか?

4

1 に答える 1

2

docker が使用する実際のストレージ ドライバーは eCryptFS では動作しないようです。

リポジトリでこれらの問題確認してください。

于 2017-06-20T12:08:53.127 に答える