2
サブプロセスからドッキング・コンテナを開始しています。ポップしても動作しますが、スクリプトが戻ってくると、シェルの端末設定がうまくいきません。何もエコーされません。私は端末でtset
とこれを修正することができますが、私はそれを必要としたくありません。誰でもここにドッカーで働いていて、この問題を見て解決しましたか?ここでPythonのドッキング・コンテナを起動すると端末設定が壊れる
私はコンテナを始めています方法です:
cmd = ['sudo',
'docker',
'run',
'-t',
'-i',
'elucidbio/capdata:v2',
'bash'
]
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
私は無限ループではbashを交換しnohup
を使用して試してみましたが、同じことが起こりました。
'-t'を削除して' stdin = DEVNULL'を渡そうとしましたか? [* "クライアント標準出力がリダイレクトまたはパイプされたときに' -t'を指定することは禁じられています*](https://docs.docker.com/engine/reference/run/) – jfs
あなたはPopenにstdin = DEVNULLを渡すことを意味しますか?またはドッカーを実行するには? –
'Popen(..stdin = subprocess.DEVNULL)'(標準ストリームが端末に接続されないように) – jfs