2016-12-21 8 views
0

RancherのREST API経由でこれを行うことができると期待しています。誰でも知っていますか?Docker exec by rancher API

cat data.txt | docker exec -i my_container sh -c 'cat >/data.txt' 

が、私はこれを使用してドッキングウィンドウの幹部と対話できるようだ:

これを返す
curl -X "POST" "http://123.123.123.123:8080/v2-beta/containers/1i177?action=execute" \ 
    -H "Cookie: PL=rancher" \ 
    -H "Content-Type: application/json" \ 
    -u user:password \ 
    -d $'{ 
    "attachStdin": true, 
    "attachStdout": true, 
    "command": [ 
     "ls" 
], 
"tty": true 
}' 

url":"ws:\/\/123.123.123.123:8080\/v1\/exec\/" 

だから、私はのWebSocketを使用してこれに接続する必要があると仮定しますか?

答えて

0

はい、その応答にヘッダー(Authorization: Bearer <token>)またはクエリパラメータ(?token=<token>)として含まれていたtokenもあります。

あなたがこのために

+0

感謝:-) TTYあるそうですので、あなたはまた、おそらく、tty: falseをしたいです。私はそれが働いているが、私は 'ls'を行うことができますし、私がエラーを返す 'タッチ'を使用しようとすると、結果を戻すことができます。 – user1513388

+0

rpcエラー:コード= 13 desc =無効なヘッダーフィールド値 "ociランタイムエラー:exec失敗:container_linux.go:247:コンテナプロセスの開始" exec:\\\ "/ bin/bash -c touch/carl \\ \ ":stat/bin/bash -c touch/carl:そのようなファイルやディレクトリはありません\" \ n " – user1513388

関連する問題