2017-05-31 13 views
0

Docker Engine APIで実行中のドッカーコンテナでコマンドを実行しようとしています。cURLです。私はinstructions in the API docに従っています。
最初にI create an exec instanceと応答として私は作成されたexecのIDを受け取ります。
それから私は、この幹部send a request to startしようとしたとき、私は次のように見えた、このIDを使用します。Docker API - Exec startが「ページが見つかりません」を返します。

$ curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" -x POST "http:/v1.29/exec/myExecID/start" 

をしかし、その要求からの応答は次のとおりです。

{"message":"page not found"} 

これは私のドッカーバージョンです:

Client: 
Version:  17.05.0-ce 
API version: 1.29 
Go version: go1.7.5 
Git commit: 89658be 
Built:  Thu May 4 22:10:54 2017 
OS/Arch:  linux/amd64 

Server: 
Version:  17.05.0-ce 
API version: 1.29 (minimum version 1.12) 
Go version: go1.7.5 
Git commit: 89658be 
Built:  Thu May 4 22:10:54 2017 
OS/Arch:  linux/amd64 
Experimental: false 

code in the Moby's repositoryでは、それらは全く同じアドレスを呼び出します。

これまでに誰もこの問題に直面しましたか?あなたの経験を分かち合うと嬉しいです。

{"message":"No such exec instance '<ID>' found in daemon"} 

あなたのためにインスタンスを作成していない意味:あなたも以下のようなエラーが出た場合

-d '{"Detach": false, "Tty": false}' 

:あなたはこのような要求の本文が含まれていなかったので、

+0

URLにhttp:// localhostがあります。 DockerエンジンAPIではなく、ホスト上のWebサーバーを呼び出すようです。 – vempo

+0

ええ、申し訳ありません、私はちょうど私の質問を修正しました。問題は、どちらもうまくいかないことです:) –

答えて

0

は、多分それは起こりますエグゼクティブ以下に示すように、あなたが幹部を行うことができます。その後

{"Id":"70f08c296d460d2fe254ecd0f8e0416777a6b938bb74a325ffc76405d33d3526"} 

:もしそうなら、あなたは新しいインスタンスに

curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" \ 
-d '{"AttachStdin": false, "AttachStdout": true, "AttachStderr": true, "DetachKeys": "ctrl-p,ctrl-q", "Tty": false, "Cmd": ["date"], "Env": ["FOO=bar", "BAZ=quux"]}' \ 
-X POST http:/v1.29/containers/fafe141c1a2b/exec 

出力(例)を作成する必要があり

curl --unix-socket /var/run/docker.sock -H "Content-Type: application/json" \ 
-d '{"Detach": false, "Tty": false}' \ 
-X POST http:/v1.29/exec/70f08c296d460d2fe254ecd0f8e0416777a6b938bb74a325ffc76405d33d3526/start 

私がしましたその方法を試して、それはうまくいけば、助けることができます!

+0

ええ、それは私が要求されていないと思ったリクエストボディを含んでいなかったからです。 –

関連する問題