- A+
所属分类:Linux
最近很多网友反馈,Arukas.io好多镜像都无法启动了。下面我们分析一下为什么?
如果你对分析内容不敢兴趣,那么请直接看解决方案。
分析说明
如果你对Docker 有一些了解,可能知道。
Dockerfile 里面只能有一个 ENTRYPOINT
多个 CMD 只会执行最后一个~
其实问题就出在 CMD 上~
CMD命令格式:
1 2 3 |
CMD ["executable","param1","param2"] CMD ["param1","param2"] CMD command param1 param2 |
注意Dockerfile有一个规则。
几个出问题的镜像就是因为这个才导致启动失败~
有兴趣的可以去看看出问题的镜像的 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://www.zxar520.com/webseo/507.html
来自外部的引用: 1