docker plugin set を使用してデバイスパスを変更する
このステップでは、docker plugin set
コマンドを使用して、Docker プラグインがアクセスするデバイスのパスを変更する方法を学びます。一部のプラグインは、ストレージデバイスやネットワークインターフェースなどのホストデバイスに直接アクセスする必要がある場合があります。
他のプラグイン設定を変更する場合と同様に、デバイス構成を変更する前にプラグインを無効化する必要があります。例として引き続き vieux/sshfs
プラグインを使用しますが、この特定のプラグインは通常、デバイスアクセスを必要としません。仮想的なデバイスを使用してコマンド構文を示します。
まず、vieux/sshfs
プラグインが無効化されていることを確認します。
docker plugin disable vieux/sshfs:latest
docker plugin ls
を使用して、プラグインが無効化されていることを確認します。
では、vieux/sshfs
プラグインが /dev/sda1
のデバイスにアクセスする必要があると仮定しましょう。これを /dev/sdb1
に変更したいとします。Devices
配列を使用して docker plugin set
コマンドを実行します。
注意: vieux/sshfs
プラグインはデフォルトでは Devices
構成を持っていません。これはデバイスパスを変更するためのコマンド構文を示すための仮想的な例です。vieux/sshfs
プラグインでこのコマンドを実行すると、構成に Devices
フィールドが存在しないため、エラーが発生する可能性があります。ただし、デバイス構成を持つプラグインに対しては、ここに示す構文は正しいです。
プラグインが Devices
配列を持っており、最初のデバイス (Devices[0]
) の PathOnHost
を変更したいと仮定すると、コマンドは次のようになります。
docker plugin set vieux/sshfs:latest Devices[0].PathOnHost=/dev/sdb1
このコマンドは、vieux/sshfs:latest
プラグインの最初のデバイス (Devices[0]
) の PathOnHost
フィールドを /dev/sdb1
に設定しようとします。構文 Devices[0]
は、プラグインの設定内の Devices
配列の最初の要素を指します。
vieux/sshfs
プラグインには Devices
配列がないため、上記のコマンドは失敗します。これはこの特定のプラグインについては予想される結果ですが、この構成をサポートするプラグインのデバイスパスを変更するための正しい構文を示しています。
vieux/sshfs
プラグインの実際の設定を確認するには、再度調べることができます。
docker plugin inspect vieux/sshfs:latest
このプラグインの出力には Devices
セクションは表示されません。
最後に、プラグインを再度有効化します。
docker plugin enable vieux/sshfs:latest
docker plugin ls
を使用して、プラグインが有効化されたことを確認します。