DOCKER:在docker运行后,在容器中执行一次性命令
我遇到了一个关于我的Dockerfile的问题 – 我有一个包含Web应用程序的容器。 当然,当我启动容器时,Web应用程序启动,并通过将我的入口点设置为'/ sbin / init' ,我可以让容器永远运行(如在,它不只是启动和closures)。
现在,问题是, 在容器首次启动后 ,我需要做一些NFS挂载 。
我明白我可以删除ENTRYPOINT并利用CMD来通过说CMD ./my_create_mount_script.sh
但是,那么我如何确保我的容器将像我在使用ENTRYPOINT / sbin / init时一样继续运行?
例如,
如果我在Dockerfile中的最后一行是: CMD ./my_create_mount_script.sh (脚本内部只是一些挂载语句),我的最后一行是: ENTRYPOINT / sbin / init它不会对我有任何好处,在这种情况下,入口点期望CMD通过它的参数,没有别的。
^如果有关系,我将把这个容器部署到AWS ECS
您可以传递多个CMD参数,如:
CMD /sbin/init ; /do_something_else
或者你可以创build一个脚本,包括web应用程序的开始,然后将其传递给你的入口点