私はnodejsのdockerコマンドライン用のlibを開発していますが、私はまだ顔を始めています。ノードjsのスポーンを使って基本的なドッカー実行コマンドを試したところ - すべてうまくいきますが、以下のような複雑なケースでは機能しません。ノードjsのspawnで複雑なコマンドを実行するには?
私はnodejsでdocker run --rm -it julia:0.3.6 julia -E "[x^2 for x in 1:100]"
を実行したいが、私はエラーの下getttingています -
入力デバイスは、コードの下TTY
Docker Shell existed with status = 1
ではありません -
const
spawn = require('child_process').spawn,
dockerDeamon = spawn("docker", ["run","--rm", "-it", "julia:0.3.6", "-E", "\" [x^2 for x in 1:100]\""]);
dockerDeamon.stdout.on('data', data => {
console.log(`${data}`);
});
dockerDeamon.stderr.on('data', data => {
console.log(`${data}`);
});
dockerDeamon.on('close', code => {
console.log(`Docker Shell existed with status = ${code}`);
});
上記のスクリプトを実行する方法はありますか?
は「幹部:\」原因 - E \「:$ PATHに見つからない実行ファイル」のための'上記のコマンド。 – irobo
@Samそれはイメージ名の直後にあるものがコマンド名でなければならないからです(コマンド引数はイメージ名の直後にあります)。 '' julia:0.3.6 "'と '' -E "'の間にコマンド名 '' julia "'を追加するだけでいいはずです。私はこれを反映するために私の答えでコマンドを更新しました。 – Frxstrem