在docker init容器的初始化上执行一个脚本

我有一个docker映像,它使用/usr/sbin/init作为pid 1ppid 0生成容器,我需要执行脚本,在运行时执行一次更改。 然后让容器从现在开始启动,例如/usr/sbin/initpid 1ppid 0

我试过这个,但它执行脚本,然后容器退出。 我能做什么? 任何帮助表示赞赏。

我会build议编写/添加一个自定义的入口点。 如果你的容器还没有使用入口点,这很简单,只需要一个/entrypoint.sh就像

 #!/bin/bash your commands exec $@ 

如果您的图片已经使用入口点,则需要将其合并到EP中,或者根据需要在您的图片中调用它。 您还需要添加

 ENTRYPOINT /entrypoint.sh 

到你的Dockerfile。

注意:如果您的启动可以完全与运行时容器分离,那么您可能需要使用init-container。