いくつかのアプリケーションコードを使用してDockerを実行したいローカルのUbuntu12.04マシンがあります。 ただし、コードは接続時にUSBドライブからデータを読み取る必要があります。ドライブは交換できるため、新しいドライブを接続するとボリュームマウントが機能しないようです。Dockerを構成する方法はありますか? USB検出がホストOSだけでなくDockerに渡されるということですか?
docker runコマンドを使用して、ここで説明します。
https://docs.docker.com/engine/reference/run/#volume -shared-filesystems
-vフラグを使用して/ devをマウントできます。 / devに表示されるすべてのデバイスは、コンテナーに表示されます。 これを行う場合は、cgroup値を変更して、アクセス許可をUSBデバイスのみに制限することもできます。
私たちの会社のジェロームもこれを行うことについてこのブログを書きました:
https://jpetazzo.github.io/2015/01/13/docker-mount-dynamic-volumes/
ドキュメントの変更ではありませんが、コンテナが--privileged
で起動された場合、その/dev
は通常のtmpfs
ではなくdevtmpfs
としてマウントされるというのが良いかもしれません。 tmpfs
ここで、デバイスはdockerによって手動で入力されます。 devtmpfs
を使用すると、デバイスが追加および削除されるときに、カーネルは自動的にエントリを/dev
に追加/削除します。
@mstanleyjonesこれがドキュメントで更新されたかどうか知っていますか?
疑わしい!
最も参考になるコメント
ドキュメントの変更ではありませんが、コンテナが
--privileged
で起動された場合、その/dev
は通常のtmpfs
ではなくdevtmpfs
としてマウントされるというのが良いかもしれません。tmpfs
ここで、デバイスはdockerによって手動で入力されます。devtmpfs
を使用すると、デバイスが追加および削除されるときに、カーネルは自動的にエントリを/dev
に追加/削除します。