2017-12-25 7 views
0

ドッカーの実行コマンドを指定する方法は複数ありましたが、エラーが発生しました。jsonで指定されたコマンドでコンテナを起動できませんでした

kubectl get podsを実行すると、ステータスが以下のエラーを返します。

rpc error: code = 2 desc = failed to start container "3329716cb47a0f795b2372dd630ca1017b0bad8bf4ab0e05490d1ac5eb28ca1b": Error response from daemon: {"message":"container 3329716cb47a0f795b2372dd630ca1017b0bad8bf4ab0e05490d1ac5eb28ca1b encountered an error during CreateProcess: failure in a Windows system call: The system cannot find the file specified. (0x2) extra info: {\"ApplicationName\":\"\",\"CommandLine\":\"\\\"powershell.exe -command\\\" \\\"docker run -e VSTS_ACCOUNT=apidrop -e VSTS_TOKEN=5zcp7yf5h2dofz642eykiwpo6lj6kniu4jkmgxljipocab4vc2wa -e VSTS_POOL=apexpool --name winvs2017_vstsagent raychen320/buildagent:1.0\\\"\",\"User\":\"\",\"WorkingDirectory\":\"C:\\\\BuildAgent\",\"Environment\":{\"DOTNET_DOWNLOAD_URL\":\"https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/1.0.4/dotnet-win-x64.1.0.4.zip\",\"DOTNET_SDK_DOWNLOAD_URL\":\"https://dotnetcli.blob.core.windows.net/dotnet/Sdk/1.0.1/dotnet-dev-win-x64.1.0.1.zip\",\"DOTNET_SDK_VERSION\":\"1.0.1\",\"DOTNET_VERSION\":\"1.0.4\",\"KUBERNETES_PORT\":\"tcp://10.0.0.1:443\",\"KUBERNETES_PORT_443_TCP\":\"tcp://10.0.0.1:443\",\"KUBERNETES_PORT_443_TCP_ADDR\":\"10.0.0.1\",\"KUBERNETES_PORT_443_TCP_PORT\":\"443\",\"KUBERNETES_PORT_443_TCP_PROTO\":\"tcp\",\"KUBERNETES_SERVICE_HOST\":\"10.0.0.1\",\"KUBERNETES_SERVICE_PORT\":\"443\",\"KUBERNETES_SERVICE_PORT_HTTPS\":\"443\",\"NUGET_XMLDOC_MODE\":\"skip\",\"chocolateyUseWindowsCompression\":\"false\"},\"EmulateConsole\":false,\"CreateStdInPipe\":true,\"CreateStdOutPipe\":true,\"CreateStdErrPipe\":true,\"ConsoleSize\":[0,0]}"} 0   26s 

私はポッドを作成するコマンドを適用kubectlに使用するJSONファイルは次のとおりです。

{ 
"apiVersion": "v1", 
"kind": "Pod", 
"metadata": { 
    "name": "buildagent", 
    "labels": { 
    "name": "buildagent" 
    } 
}, 
"spec": { 
    "containers": [ 
    { 
     "name": "buildagent", 
     "image": "raychen320/buildagent:1.0", 
     "command": [ 
        "powershell.exe -command", 
        "docker run -e VSTS_ACCOUNT=apitest -e VSTS_TOKEN=tgctxxx -e VSTS_POOL=testpool --name myagent raychen320/buildagent:1.0" 
      ], 
     "ports": [ 
     { 
     "containerPort": 80 
     } 
     ] 
    } 
    ], 
    "nodeSelector": { 
    "beta.kubernetes.io/os": "windows" 
    } 
    } 
} 

私はコマンドに何を設定する必要がありますか?

答えて

0

システムPATHでDockerがpowershell.exeを検出できません。 "コマンド"でpowershell.exeの絶対パスを使用する必要があります

1

明らかに存在しないpowershell.exe -commandという名前の実行可能ファイルを起動しようとしています。打ち上げるべきものは次のようなものです:

command: "powershell.exe" 
args: 
- "-command" 
- "docker run..." 
関連する問題