我正在使用hyper.sh构建一个JS评分应用程序。当我通过API创建容器时,当我尝试启动它时(通过API或CLI),不会运行指定的命令。而是将'exec failed: no such file or directory
写入日志。
我首先使用axios创建基于/ containers / create文档的容器。我在这里简化了一些内容,但它与文档中提供的内容相同。
var createOptions = {
url: 'https://us-west-1.hyper.sh/containers/create',
method: 'POST',
credential: {
accessKey: '...',
secretKey: '...'
},
body: {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": true,
"AttachStderr": true,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Cmd":[
"date"
],
"Entrypoint": "",
"Image": "ubuntu",
"Labels": {
"com.example.vendor": "Acme",
"com.example.license": "GPL",
"com.example.version": "1.0",
"sh_hyper_instancetype": "s4"
},
"WorkingDir": "",
"NetworkDisabled": false,
"ExposedPorts": {
"22/tcp": {}
},
"StopSignal": "SIGTERM",
"HostConfig": {
...
}
}
}
接下来,我运行超级启动$(id)
。记录容器ID,但不运行Cmd中指定的命令。任何想法正在发生的事情将不胜感激。
谢谢你的帮助。
答案 0 :(得分:1)
可以通过从容器选项中删除"Entrypoint": "",
来修复此错误。
有关其他信息,似乎ENTRYPOINT和CMD是相关的,并且使用两者都是多余的。我在超级API文档中提出了一个问题澄清。