首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不覆盖现有命令的情况下向CMD添加新命令

在不覆盖现有命令的情况下向CMD添加新命令
EN

Stack Overflow用户
提问于 2018-06-30 12:49:10
回答 1查看 314关注 0票数 0

我希望使用现有的docker映像,并在cmd中添加新命令而不执行命令。

Dockerfile

代码语言:javascript
复制
FROM telegrammessenger/proxy

COPY mtproto_stats .

CMD [ "/bin/sh", "-c", "/bin/bash /run.sh", "/bin/bash ./mtproto_stats" ]

在这里,我尝试执行我复制到容器CMD "/bin/sh“、"-c”、"/bin/bash /run.sh“和-c的程序。

这是我在运行容器时使用"/bin/sh", "-c", "/bin/bash /run.sh"获得的docker inspect命令

我的程序应该与容器一起运行,并且一直工作,我正在尝试使用"./mtproto_stats & disown",但它没有帮助

EN

回答 1

Stack Overflow用户

发布于 2018-07-01 02:24:56

这是命令"/bin/sh", "-c", "/bin/bash /run.sh",我在运行容器时使用了码头检查

"/bin/sh", "-c"是默认的ENTRYPOINT"/bin/bash /run.sh"CMD

在您的例子中,您应该使用CMD的shell形式:

代码语言:javascript
复制
FROM telegrammessenger/proxy

COPY mtproto_stats .
COPY wrapper.sh /wrapper.sh
CMD exec /wrapper.sh

使用wrapper.sh:

代码语言:javascript
复制
#!/bin/bash
exec /path/to/mtproto_stats & disown
exec /run.sh

我将run.sh放在末尾,因为它应该是保持容器存活的主要进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51115072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档