我遇到了关于我的Dockerfile的问题 - 我有一个包含Web应用程序的容器。当然,当我启动容器,启动Web应用程序并将 ENTRYPOINT 设置为'/ sbin / init'时,我可以让容器永远运行(如,它不只是启动和关闭)。
现在,问题是,我需要在'容器第一次启动之后做一些NFS挂载'。
我知道我可以删除 ENTRYPOINT 并利用 CMD 传入,然后让我们说 CMD ./my_create_mount_script.sh
但是,我如何确保我的容器将继续运行,就像我使用ENTRYPOINT / sbin / init时一样?
例如,
如果我在Dockerfile中的第二行是: CMD ./my_create_mount_script.sh (在脚本里面只是一些挂载语句)而我的最后一行是: ENTRYPOINT / sbin / init 它不会对我有任何帮助据我所知,因为在这种情况下,ENTRYPOINT期待CMD传递args,没有别的。
^如果重要,我会将此容器部署到AWS ECS
答案 0 :(得分:1)
您可以传递多个CMD参数,例如:
CMD /sbin/init ; /do_something_else
或者您可以创建一个可以完成所有操作的脚本,包括启动Web应用程序,然后将其传递给 ENTRYPOINT