DOCKER:在docker运行后在容器中执行一次性命令

时间:2017-10-13 13:11:28

标签: docker containers dockerfile amazon-ecs

我遇到了关于我的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

1 个答案:

答案 0 :(得分:1)

您可以传递多个CMD参数,例如:

CMD /sbin/init ; /do_something_else

或者您可以创建一个可以完成所有操作的脚本,包括启动Web应用程序,然后将其传递给 ENTRYPOINT