【发布时间】:2018-12-09 10:27:55
【问题描述】:
我想使用现有的 docker 映像并添加新命令,而不在 cmd 中覆盖命令。
Dockerfile
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", "./mtproto_stats" 的程序强>]
这个命令"/bin/sh", "-c", "/bin/bash /run.sh" 我在运行容器上使用docker inspect
我的程序应该与容器一起运行并一直工作,我正在尝试使用 "./mtproto_stats & disown" 但它没有帮助
【问题讨论】:
-
不清楚你想要达到什么目的。
-
@dpwrussell 运行
/run.sh然后./mtproto_stats,但./mtproto_stats仅在我将其放入入口点时运行,但如果将其放入入口点/run.sh将不会运行 -
我认为您不了解
entrypoint和command的实际作用以及命令的工作原理。command不是命令列表,它是单个命令。如果您希望您的容器做两件事,那么您需要制作一个运行脚本来创建入口点。然后,运行脚本将依次启动run.sh和mtproto_stats,或者如果一个/两个都是服务,则使用多种技术之一来分离这些进程。
标签: docker