如何在dockerfile中没有CMD或ENTRYPOINT的情况下在启动时运行进程?

如何在dockerfile中没有CMD或ENTRYPOINT的情况下在启动时运行进程?,docker,Docker,下面是dockerfile的一些示例: FROM ubuntu:18.04 RUN apt-get install xvfb CMD Xvfb :0 -ac # <-- I need this to run on start up, no as CMD CMD node programThatNeedsXvfbRunning.js 来自ubuntu:18.04的 运行apt-get-install-xvfb CMD Xvfb:0-ac#试试这个Dockerfile: FROM ubu

下面是dockerfile的一些示例:

FROM ubuntu:18.04
RUN apt-get install xvfb

CMD Xvfb :0 -ac # <-- I need this to run on start up, no as CMD

CMD node programThatNeedsXvfbRunning.js
来自ubuntu:18.04的

运行apt-get-install-xvfb

CMD Xvfb:0-ac#试试这个
Dockerfile

FROM ubuntu:18.04
RUN apt-get install xvfb

ENTRYPOINT [ "Xvfb", ":0", "-ac" ]
然后按以下方式运行:

docker run <image> cmd1 cmd2

这就是您想要的吗?

您需要创建一个入口点脚本,该脚本将运行
Xvfb:0-ac
,然后启动它作为参数接收的命令,docker文件中的
CMD
,或者您在命令行上传递的覆盖它的命令。@Zeitounator或者如何从脚本中访问“CMD”?您可以使用入口点(mysql、php、postgres…)查看任何dockerhub图像上的示例。一旦人们完成了他们所需要的一切,人们通常会使用<代码> Excel“$@”/代码>。您也可以考虑VM(带有模拟显示硬件)运行普通桌面Linux发行版(启动时启动显示服务器)是否更好地满足您的需求。
Xvfb :0 -ac cmd1 cmd2