30.2. コンテナーの実行

Dockerfile でビルドしたコンテナーを実行できます。

手順

  1. 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 ごとのデバイスファイルをマッピングする必要があります。