Docker – 扩展父进程的入口

我有一个基于官方postgres图像的自定义图像,我想扩展父图像的入口点,以便它会创build新的用户和数据库,如果它们不存在,每当一个容器启动。 可能吗? 就像我的图像将执行从标准入口点加上我自己的shell脚本的所有命令。

我知道把我自己的脚本放到/docker-entrypoint-initdb.d目录下,但似乎只有在第一次创build卷时才会执行。

你需要做的是像下面的东西

setup_user.sh

sleep 10 echo "execute commands to setup user" 

setup.sh

 sh setup_user.sh & ./docker-entrypoint.sh postgres 

而你的图像应该使用ENTRYPOINT

 ENTRYPOINT ["/setup.sh"] 

你需要在后台启动你的设置脚本,并让原始的entryscript工作来启动数据库