最近很多网友反馈,Arukas.io好多镜像都无法启动了。下面我们分析一下为什么?
如果你对分析内容不敢兴趣,那么请直接看解决方案。
分析说明
如果你对Docker 有一些了解,可能知道。
Dockerfile 里面只能有一个 ENTRYPOINT
多个 CMD 只会执行最后一个~
其实问题就出在 CMD 上~
CMD命令格式:
1
2
3
|
CMD [“executable”,“param1”,“param2”]
CMD [“param1”,“param2”]
CMD command param1 param2
|
注意Dockerfile有一个规则。
如果想同时使用ENTRYPOINT和CMD,CMD因为被当作ENTRYPOINT的参数而无法运行。
几个出问题的镜像就是因为这个才导致启动失败~
有兴趣的可以去看看出问题的镜像的 Dockerfile 内容。
我这里就不说 ENTRYPOINT 作用了。自己搜索吧~
为什么之前可以呢?
应该是最近 Arukas.io 更新过 CLI ,修复这个问题了。
解决方案
方法1: 修改 Dockerfile 将 ENTRYPOINT 去掉。(不推荐)
方法2: 修改 Dockerfile 直接内部启动相关的$$ 服务。(不推荐)
方法3: 修改CMD 命令格式。(推荐)
这里只列出几个,其他的自己琢磨吧
1
2
3
4
5
|
#镜像
lowid/ss–with–net–speeder:latest
#CMD
–p 1111 –k 666666 –m aes–256–cfb
|
1
2
3
4
5
|
#镜像
malaohu/ssr–with–net–speeder
#CMD
–s 0.0.0.0 –p 8989 –k RUYO.net –m rc4–md5 –o http_simple –O auth_sha1
|
CMD命令中每个含义请参考:http://51.ruyo.net/p/2058.html
© 版权声明
THE END