33.2. コンテナーの実行
Dockerfile でビルドしたコンテナーを実行できます。
手順
podman run
コマンドを使用して、コンテナーを実行します。# podman run --device=/dev/cpu_dma_latency --cap-add ipc_lock --cap-add sys_nice --cap-add sys_rawio --rm -ti cyclictest /dev/cpu_dma_latency set to 0us policy: fifo: loadavg: 0.08 0.10 0.09 2/947 15 T: 0 ( 8) P:95 I:1000 C: 3209 Min: 1 Act: 1 Avg: 1 Max: 14 T: 1 ( 9) P:95 I:1500 C: 2137 Min: 1 Act: 2 Avg: 1 Max: 23 T: 2 (10) P:95 I:2000 C: 1601 Min: 1 Act: 2 Avg: 2 Max: 7 T: 3 (11) P:95 I:2500 C: 1280 Min: 1 Act: 2 Avg: 2 Max: 72 T: 4 (12) P:95 I:3000 C: 1066 Min: 1 Act: 1 Avg: 1 Max: 7 T: 5 (13) P:95 I:3500 C: 913 Min: 1 Act: 2 Avg: 2 Max: 87 T: 6 (14) P:95 I:4000 C: 798 Min: 1 Act: 1 Avg: 2 Max: 7 T: 7 (15) P:95 I:4500 C: 709 Min: 1 Act: 2 Avg: 2 Max: 29
この例は、必須のリアルタイム固有のオプションを指定した podman run
コマンドを示しています。以下に例を示します。
-
先入れ先出し (FIFO) スケジューラーポリシーは、
--cap-add=sys_nice
オプションを介してコンテナー内で実行されているワークロードで使用できます。このオプションでは、スレッドの CPU アフィニティーを設定することもできます。これは、リアルタイムのワークロードをチューニングする際のもう 1 つの重要な設定ディメンジョンです。 --device=/dev/cpu_dma_latency
オプションは、コンテナー内でホストデバイスを利用できるようにします (その後、CPU アイドル時間管理を設定するために cyclictest の負荷によって使用されます)。指定したデバイスを利用できない場合は、以下のようなエラーメッセージが表示されます。WARN: stat /dev/cpu_dma_latency failed: No such file or directory
このようなエラーメッセージが表示された場合は、podman-run(1) の man ページを参照してください。コンテナーで特定のワークロードを実行するには、別の
podman-run
オプションが役に立ちます。場合によっては、
--device=/dev/cpu
オプションを追加してそのディレクトリー階層を追加して、/dev/cpu/*/msr
などの CPU ごとのデバイスファイルをマッピングする必要があります。